HowTo Linux, Windows und MacOS in einem Netzwerk mit Linux als Fileserver
Wie man Samba und Netatalk unter Linux konfiguriert, dass sowohl Apple Macintosh mit MacOS 8.x bis X und Windows Rechner
auf Dateidienste (zentrale Freigaben) zugreifen können.
HowTo Samba und Netatalk unter Linux - Installation und Konfiguration
Stand: 31. Oktober 2008 - Version 0.3
(1)Verwendetes System
(Novell) SuSE Linux 10.0 Eval ISO
- Samba Version 3.0.20b-3.1
- Netatalk Version 2.0.3-3
(2) Einleitung
Es soll für eine heterogene Netzwerkumgebung betstehend aus Apple Macintosh Rechnern unter MacOS 8.x, 9.x und X,
sowie Windows 2000 und XP PCs ein Fileserver eingerichtet werden, auf den alle Clients im Netz zugreifen können.
Dabei sind insbesondere Probleme, die Windows NT4 Server bei Dateien, die nacheinander unter MacOS 8/9 und MacOS X
bearbeitet wurden, zu vermeiden (Dateien waren teilweise nicht mehr lesbar, bzw. Dateityp war unter MacOS X nicht mehr
erkennbar). Für MacOS X und die Windows Clients wird der Zugriff über Samba gesteuert bzw. zur Verfügung gestellt,
für die älteren Macs über afp im Netatalk Paket. Die beiden Pakete Samba und Netatalk liegen eigentlich jeder grösseren
Distribution bei.
(3) Links
[URL1] http://de.wikipedia.org/wiki/Server_Message_Block (Wikipedia Eintrag zu SMB [deu.])
[URL2] http://de.wikipedia.org/wiki/Apple_Filing_Protocol (Wikipedia Eintrag zu AFP [deu.])
[URL3] http://de.wikipedia.org/wiki/AppleTalk (Wikipedia Eintrag zu AppleTalk [deu.])
[URL4] http://de.wikipedia.org/wiki/Access_Control_List (Wikipedia Eintrag zu ACLs [deu.])
[URL5] http://www.samba.org (Samba Projekt Homepage mit HowTos, Dokus und aktuellen Samba Versionen)
[URL6] http://netatalk.sourceforge.net/ (Netatalk Projekt Homepage bei SourceForge)
(4) Für die Konfiguration wichtige Dateien
(alle hier genannten Dateien beziehen sich mit ihrem Pfad auf SuSE Linux, bei anderen Distributionen können
sie an anderer Stelle im Dateisystem zu finden sein)
/etc/samba/smb.conf Zentrale Konfigurationsdatei für Samba, hier werden (windowskompatible) Freigaben definiert usw.
/etc/netatalk/afpd.conf Konfigurationsdatei für AFP
/etc/netatalk/AppleVolumes.default Konfigurationsdatei für AppleTalk kompatible Freigaben
/etc/netatalk/netatalk.conf Konfigurationsdatei für das Netatalk Paket, hier werden die zu startenden Dienste definiert usw.
(5) Begriffe
Samba - stellt SMB Dienste unter Linux und anderen *nix Derivaten bereit
SMB - Server Message Block (engl.) Kommunikationsprotokoll für Drucker-, Datei- und andere Serverdienste (siehe [URL1])
AFP - Apple Filing Protocol (engl.) Dateidienste im Peer-to-Peer Netzwerk (Freigaben) (siehe [URL2])
AppleTalk - Protokoll-Stack von Apple, stellt Dienste, wie AFP, ZIP, ASDP usw. zur Verfügung (siehe [URL3])
ACL - Access Control Lists (engl.) Zugriffskontrolllisten, beinhalten Zugriffsrechte auf Dateien und Ordnern/Freigaben (siehe [URL4])
CNID - Catalog Node IDs, ähnlich der ACLs Datei- und Ordnerberechtigungen bei AppleTalk / AFP
(6) So geht's ...
(6.1) Die Samba Installation und Konfiguration
Alle folgenden Einstellungen müssen als root ausgeführt werden.
Das Samba Paket befindet sich auch der SuSE DVD und kann einfach über yast installiert werden.
Ich habe hier zunächst eine einfache Samba Konfiguration gewählt, man kann den Samba Server
auch als Domänen Controller einrichten, das war aber für das gegebene Szenario nicht unbedingt
notwendig, deswegen wird hier nur die Konfiguration der einfachen Fileserver Dienste beschrieben.
Einen Druckserver mit AppleTalk Unterstützung kann man entsprechend einrichten, das ergänze ich eventuell
später noch. Nun zur Samba Konfigurationsdatei, ich habe nur die wichtigen Punkte hier aufgelistet, die geändert
bzw. ergänzt werden müssen, die restlichen Einstellungen auf den Default-Werten lassen:
---smb.conf---
---Ende smb.conf---
Nun legt man einen Benutzer an, der auf die soeben konfigurierte Windows Freigabe zugreifen kann,
ich nenne diesen User im folgenden beispielsweise "winuser", man kann allerdings jedem auf dem Linuxrechner
(in der /etc/passwd vorhandenen Benutzer mit dem gleichen Verfahren Zugriffsrechte auf die Windows Freigaben
erteilen, wenn man nicht will, dass die Windows / MacOS X Benutzer sowohl auf die Freigaben als auch auf
den Linuxrechner per ssh/ftp usw. zugreifen können, vergibt man einfach unterschiedliche Passwörter für den
Linux- und den Windows/Freigabenteil.
Also zuerst den neuen Benutzer unter Linux anlegen, das kann entweder mit yast geschehen oder auf der Kommandozeile
mittels "useradd -m winuser" (wenn der Benutzer auch ein eigenes Linux Home Verzeichnis haben soll - Option -m) oder
nur "useradd winuser" (ohne Home Verzeichnis). Wenn man "useradd" verwendet hat, vergibt man jetzt noch das
(Linux-)Passwort, wie bereits gesagt, kann es sich von dem gleich vergebenen Freigaben-Passwort unterscheiden,
dann hat der Benutzer keine Zugriffsrechte auf die Linux-Dienste. Also auf der Kommandozeile "passwd winuser"
eingeben und das neue Linux-Passwort eingeben.
Nun gibt man dem Benutzer noch die Rechte auf die Windows Freigabe(n), auf der Shell dazu "smbpasswd winuser"
eingeben und das Zugriffspasswort eintippen.
Danach sollte man den Samba Dienst mit "/etc/rc.d/smb restart" bzw. "rcsmb restart" auf der Shell einmal neu starten.
Damit wäre der Samba Teil der Konfiguration fertig, und die Windows Benutzer sollten direkt über die Netzwerkumgebung,
bzw. über Eingabe von "\\[ServerName]\Daten" auf die Freigabe zugreifen können.
Die MacOS X Benutzer geben im Finder "smb://[ServerName]/Daten" ein und können entsprechen auf die Freigabe zugreifen.
Wie bereits erwähnt, ist Samba sehr mächtig, man kann aus Samba inzwischen einen (fast) kompletten Domänencotroller
machen, der sogar über LDAP auf eine (vorhandenes) Active Directory zugreifen kann, auch Druckdienste können
ähnlich der oben beschriebenen Datei- bzw. Ordnerfreigaben erstellt werden. Diese Konfigurationsmöglichkeiten
habe ich der Einfachkeit halber hier erstmal weggelassen und verweise da auf die diversen Dokumentationen zu
Samba, die im Netz zu finden sind ([URL5] und ->Google). Für Druckdienste ist das Paket cups zu empfehlen.
(6.2.) Installation und Konfiguration von Netatalk
Auch das Netatalk Paket wird bei SuSE 10.0 mitgeliefert und kann über yast installiert werden.
Nach der Installation editiert man zunächst die zentrale netatalk Konfigurationsdatei /etc/netatalk/netatalk.conf,
auch hier gehe ich nur auf die wichtigsten Optionen ein, die restlichen können auf den Default Werten bleiben:
---netatalk.conf---
---Ende netatalk.conf---
Das wäre die Grundkonfiguration der AppleTalk Schnittstelle unter Linux, nun kommen wir zur Konfiguration
des AFP Servers für die Dateifreigaben und den Datei-/Ordnerfreigaebn selbst.
Wenn man das CNID Backend verwendet (empfohlen, s.o. netatalk.conf) sollte man am Ende der afpd.conf folgendes eintragen:
---afpd.conf (1. Möglichkeit)---
---Ende afpd.conf (1)---
oder ohne CNID
---afpd.conf (2. Möglichkeit)---
---Ende afpd.conf (2)---
In der afpd.conf kann man noch jede Menge andere Sachen bezüglich des AFP Servers einstellen, z.B. kann man die CNID
Datenbank auch auf einem anderen Server betreiben, um die lokale Lastauszugleichen. Die Optionen sind in der
Musterdatei bei SuSE Linux alle erklärt, teilweise mit Beispielen.
Nun zu den eigentlichen Netzwerklaufwerken unter AppleTalk, dazu muss der /etc/netatalk/AppleVolumes.default
folgende Zeile am Ende der Datei beispielsweise eingefügt werden, die Gross-/Kleinschriebung ist im Dateinamen wichtig,
sonst findet atalk die Datei nicht:
---AppleVolumes.default---
---Ende AppleVolumes.default---
Nun noch zu einem kleinen, aber ärgerlichen Bug in der SuSE Distribution, die mich bei der Einrichtung dieser
Lösung bei einem Kunden ein paar Tage Web-Recherche gekostet hat.
SuSE hat es leider versäumt in den RC Startup-Skripten den CNID Server korrekt einzubinden, der somit
nicht gestartet wird, was bei Zugriff von MacOS 8 und 9 Rechnern auf die Freigabe(n) bzw. schon bei suchen
des Servers über den Finder Probleme bereitet, im Logfile /var/log/messages tauchen dann folgende Einträge auf:
---/var/log/messages CNID Error---
---Ende /var/log/messages---
Man muss, um diese Fehler abzustellen, folgende Zeilen im Startup Skript /etc/rc.d/atalk ergänzen,
und zwar (bei SuSE 10.0) zwischen den Zeilen (Zeilennummer 63)
"fi" [diese ist das Ende, der if Abfrage "if [ x"${AFPD_RUN}" = x"yes" -a -x /usr/sbin/afpd ] ; then")
und "touch /var/lock/subsys/atalk" :
---Ergänzung in /etc/rc.d/atalk---
---Ende /etc/rc.d/atalk
Danach noch den Atalk Server neu starten mit "/etc/rc.d/atalk restart" bzw. "rcatalk restart" und nun
sollten auch die älteren Macs auf die Freigabe auf dem Linux Fileserver zugreifen können.
Gruss
cykes
---Ergänzungen---
(E1) Ergänzungen von anderen Forenmitgliedern:
Man sollte bei der Migration eines Windows NT4, Windows 2000 oder Windows 2003 Servers zu einem wie oben
beschriebenen Linux Fileservers darauf achten, die Dateien vom "alten" Fileserver zunächst auf einen
Mac OS X Rechner zu kopieren und danach auf die Freigaben auf dem "neuen" Linux Fileserver
(Dank an Mark Bröcker). (Anmerkung meinerseits Dürfte allerdings nur relevant sein,
wenn man nur Samba auf Linuxseite verwendet, wenn man die Daten per Appletalk auf den Linuxserver umkopiert
dürfte es keine Probleme mit den Berechtigungen/Dateibeschreibungen geben.
(E2) Eigene Ergänzungen:
Da die Forensoftware meine komplette Formatierung über den Haufen geschmissen hat,
indem sie "überflüssige" Leerzeichen entfernt hat, wurde das Tutorial etwas schwer lesbar,
falls jemand Interesse an der etwas schöner formatierten Version hat, kann er sich per PM bei mir melden.
(E3) 31.10.2008 - Habe mal die Formatierung geändert, nun sollte wieder alles korrekt bzw. lesbarer
dargestellt werden.
auf Dateidienste (zentrale Freigaben) zugreifen können.
HowTo Samba und Netatalk unter Linux - Installation und Konfiguration
Stand: 31. Oktober 2008 - Version 0.3
(1)Verwendetes System
(Novell) SuSE Linux 10.0 Eval ISO
- Samba Version 3.0.20b-3.1
- Netatalk Version 2.0.3-3
(2) Einleitung
Es soll für eine heterogene Netzwerkumgebung betstehend aus Apple Macintosh Rechnern unter MacOS 8.x, 9.x und X,
sowie Windows 2000 und XP PCs ein Fileserver eingerichtet werden, auf den alle Clients im Netz zugreifen können.
Dabei sind insbesondere Probleme, die Windows NT4 Server bei Dateien, die nacheinander unter MacOS 8/9 und MacOS X
bearbeitet wurden, zu vermeiden (Dateien waren teilweise nicht mehr lesbar, bzw. Dateityp war unter MacOS X nicht mehr
erkennbar). Für MacOS X und die Windows Clients wird der Zugriff über Samba gesteuert bzw. zur Verfügung gestellt,
für die älteren Macs über afp im Netatalk Paket. Die beiden Pakete Samba und Netatalk liegen eigentlich jeder grösseren
Distribution bei.
(3) Links
[URL1] http://de.wikipedia.org/wiki/Server_Message_Block (Wikipedia Eintrag zu SMB [deu.])
[URL2] http://de.wikipedia.org/wiki/Apple_Filing_Protocol (Wikipedia Eintrag zu AFP [deu.])
[URL3] http://de.wikipedia.org/wiki/AppleTalk (Wikipedia Eintrag zu AppleTalk [deu.])
[URL4] http://de.wikipedia.org/wiki/Access_Control_List (Wikipedia Eintrag zu ACLs [deu.])
[URL5] http://www.samba.org (Samba Projekt Homepage mit HowTos, Dokus und aktuellen Samba Versionen)
[URL6] http://netatalk.sourceforge.net/ (Netatalk Projekt Homepage bei SourceForge)
(4) Für die Konfiguration wichtige Dateien
(alle hier genannten Dateien beziehen sich mit ihrem Pfad auf SuSE Linux, bei anderen Distributionen können
sie an anderer Stelle im Dateisystem zu finden sein)
/etc/samba/smb.conf Zentrale Konfigurationsdatei für Samba, hier werden (windowskompatible) Freigaben definiert usw.
/etc/netatalk/afpd.conf Konfigurationsdatei für AFP
/etc/netatalk/AppleVolumes.default Konfigurationsdatei für AppleTalk kompatible Freigaben
/etc/netatalk/netatalk.conf Konfigurationsdatei für das Netatalk Paket, hier werden die zu startenden Dienste definiert usw.
(5) Begriffe
Samba - stellt SMB Dienste unter Linux und anderen *nix Derivaten bereit
SMB - Server Message Block (engl.) Kommunikationsprotokoll für Drucker-, Datei- und andere Serverdienste (siehe [URL1])
AFP - Apple Filing Protocol (engl.) Dateidienste im Peer-to-Peer Netzwerk (Freigaben) (siehe [URL2])
AppleTalk - Protokoll-Stack von Apple, stellt Dienste, wie AFP, ZIP, ASDP usw. zur Verfügung (siehe [URL3])
ACL - Access Control Lists (engl.) Zugriffskontrolllisten, beinhalten Zugriffsrechte auf Dateien und Ordnern/Freigaben (siehe [URL4])
CNID - Catalog Node IDs, ähnlich der ACLs Datei- und Ordnerberechtigungen bei AppleTalk / AFP
(6) So geht's ...
(6.1) Die Samba Installation und Konfiguration
Alle folgenden Einstellungen müssen als root ausgeführt werden.
Das Samba Paket befindet sich auch der SuSE DVD und kann einfach über yast installiert werden.
Ich habe hier zunächst eine einfache Samba Konfiguration gewählt, man kann den Samba Server
auch als Domänen Controller einrichten, das war aber für das gegebene Szenario nicht unbedingt
notwendig, deswegen wird hier nur die Konfiguration der einfachen Fileserver Dienste beschrieben.
Einen Druckserver mit AppleTalk Unterstützung kann man entsprechend einrichten, das ergänze ich eventuell
später noch. Nun zur Samba Konfigurationsdatei, ich habe nur die wichtigen Punkte hier aufgelistet, die geändert
bzw. ergänzt werden müssen, die restlichen Einstellungen auf den Default-Werten lassen:
---smb.conf---
[global]
workgroup = [GroupName] # Name der Arbeitsgruppe
netbios name = [ServerName] # Name des Servers, wie er in der
# Netzwerkumgebung erscheinen soll
security = user # Benutzerbasierte Freigaben
passdbbackend = smbpasswd:/etc/samba/smbpasswd # SMB Passwörter in der Datei smbpasswd
[Daten] # Freigabename "Daten"
comment = Daten Freigabe # Kommentar, der in der Netzwerkumgebung
# neben dem Freigabenamen steht
inherit acls = Yes # Berechtigungen (ACLs) vererben
path = /[KompletterPfadZumOrdner] # Wo befindet sich der freigegebene
# Ordner im Linux Dateisystem
read only = No # Nur Lesebrechtigung für alle
hide files = .AppleDouble # Das ist wichtig, wenn man MacOS 8/9
# Rechner im Netz hat, diese Dateien
# sollen für Windows/SMB Rechner nicht
# sichtbar sein, damit sie nicht
# aus Versehen gelöscht werden
Nun legt man einen Benutzer an, der auf die soeben konfigurierte Windows Freigabe zugreifen kann,
ich nenne diesen User im folgenden beispielsweise "winuser", man kann allerdings jedem auf dem Linuxrechner
(in der /etc/passwd vorhandenen Benutzer mit dem gleichen Verfahren Zugriffsrechte auf die Windows Freigaben
erteilen, wenn man nicht will, dass die Windows / MacOS X Benutzer sowohl auf die Freigaben als auch auf
den Linuxrechner per ssh/ftp usw. zugreifen können, vergibt man einfach unterschiedliche Passwörter für den
Linux- und den Windows/Freigabenteil.
Also zuerst den neuen Benutzer unter Linux anlegen, das kann entweder mit yast geschehen oder auf der Kommandozeile
mittels "useradd -m winuser" (wenn der Benutzer auch ein eigenes Linux Home Verzeichnis haben soll - Option -m) oder
nur "useradd winuser" (ohne Home Verzeichnis). Wenn man "useradd" verwendet hat, vergibt man jetzt noch das
(Linux-)Passwort, wie bereits gesagt, kann es sich von dem gleich vergebenen Freigaben-Passwort unterscheiden,
dann hat der Benutzer keine Zugriffsrechte auf die Linux-Dienste. Also auf der Kommandozeile "passwd winuser"
eingeben und das neue Linux-Passwort eingeben.
Nun gibt man dem Benutzer noch die Rechte auf die Windows Freigabe(n), auf der Shell dazu "smbpasswd winuser"
eingeben und das Zugriffspasswort eintippen.
Danach sollte man den Samba Dienst mit "/etc/rc.d/smb restart" bzw. "rcsmb restart" auf der Shell einmal neu starten.
Damit wäre der Samba Teil der Konfiguration fertig, und die Windows Benutzer sollten direkt über die Netzwerkumgebung,
bzw. über Eingabe von "\\[ServerName]\Daten" auf die Freigabe zugreifen können.
Die MacOS X Benutzer geben im Finder "smb://[ServerName]/Daten" ein und können entsprechen auf die Freigabe zugreifen.
Wie bereits erwähnt, ist Samba sehr mächtig, man kann aus Samba inzwischen einen (fast) kompletten Domänencotroller
machen, der sogar über LDAP auf eine (vorhandenes) Active Directory zugreifen kann, auch Druckdienste können
ähnlich der oben beschriebenen Datei- bzw. Ordnerfreigaben erstellt werden. Diese Konfigurationsmöglichkeiten
habe ich der Einfachkeit halber hier erstmal weggelassen und verweise da auf die diversen Dokumentationen zu
Samba, die im Netz zu finden sind ([URL5] und ->Google). Für Druckdienste ist das Paket cups zu empfehlen.
(6.2.) Installation und Konfiguration von Netatalk
Auch das Netatalk Paket wird bei SuSE 10.0 mitgeliefert und kann über yast installiert werden.
Nach der Installation editiert man zunächst die zentrale netatalk Konfigurationsdatei /etc/netatalk/netatalk.conf,
auch hier gehe ich nur auf die wichtigsten Optionen ein, die restlichen können auf den Default Werten bleiben:
---netatalk.conf---
AFPD_MAX_CLIENTS=50 # Maximale Anzahl Clients über AFP, entsprechend den
# Gegebenheiten anpassen, Standard ist 50
ATALK_NAME=`echo ${HOSTNAME}|cut -d. -f1` # Hier wird der Linux Hostname als
# Appletalk Hostname im Apple Finder angezeigt
# Kann man auch fest auf einen anderen
# Wert setzen, z.B. ATALK_NAME="LinuxApple"
ATALKD_RUN=yes # AppleTalk Server starten (yes/no)
PAPD_RUN=yes # AppleTalk Druckdienste (PAP) starten (yes/no), wenn 'yes'
# dann muss auch ATALKD_RUN=yes sein
CNID_METAD_RUN=yes # CNID Datenbank Server Komponente starten (sollte auf 'yes' sein)
AFPD_RUN=yes # AFP Server starten
TIMELORD_RUN=no # Wenn man die Timelord Dienste benutzen will, auf 'yes' stellen
Das wäre die Grundkonfiguration der AppleTalk Schnittstelle unter Linux, nun kommen wir zur Konfiguration
des AFP Servers für die Dateifreigaben und den Datei-/Ordnerfreigaebn selbst.
Wenn man das CNID Backend verwendet (empfohlen, s.o. netatalk.conf) sollte man am Ende der afpd.conf folgendes eintragen:
---afpd.conf (1. Möglichkeit)---
- -transall -cnidserver [IPdesLinuxServers] # Wichtig ist hier das einzelne '-' am Anfang
oder ohne CNID
---afpd.conf (2. Möglichkeit)---
- -transall # Wichtig ist hier das einzelne '-' am Anfang
In der afpd.conf kann man noch jede Menge andere Sachen bezüglich des AFP Servers einstellen, z.B. kann man die CNID
Datenbank auch auf einem anderen Server betreiben, um die lokale Lastauszugleichen. Die Optionen sind in der
Musterdatei bei SuSE Linux alle erklärt, teilweise mit Beispielen.
Nun zu den eigentlichen Netzwerklaufwerken unter AppleTalk, dazu muss der /etc/netatalk/AppleVolumes.default
folgende Zeile am Ende der Datei beispielsweise eingefügt werden, die Gross-/Kleinschriebung ist im Dateinamen wichtig,
sonst findet atalk die Datei nicht:
---AppleVolumes.default---
/[PfadZurFreigabeAus_smb.conf] "Daten" options:mswindows cnidscheme:dbd # Am Anfang der
# Pfad, der auch
# in der smb.conf
# als SMB-Freigabe
# eingerichtet ist,
# options:mswindows
# für die Windows
# Kompatibilität
# cnidscheme:dbd
# benötigt das
# Berkeley DB Paket
# und ist schneller
# als cdb, wenn
# CNID eingesetzt
# wird
Nun noch zu einem kleinen, aber ärgerlichen Bug in der SuSE Distribution, die mich bei der Einrichtung dieser
Lösung bei einem Kunden ein paar Tage Web-Recherche gekostet hat.
SuSE hat es leider versäumt in den RC Startup-Skripten den CNID Server korrekt einzubinden, der somit
nicht gestartet wird, was bei Zugriff von MacOS 8 und 9 Rechnern auf die Freigabe(n) bzw. schon bei suchen
des Servers über den Finder Probleme bereitet, im Logfile /var/log/messages tauchen dann folgende Einträge auf:
---/var/log/messages CNID Error---
warn:Feb 3 16:04:02 [ServerName] afpd[17894]: afp_openvol(/[FreigabeName]): Fatal error: Unable to
get stamp value from CNID backend
warn:Feb 3 16:04:28 [ServerName] afpd[17894]: getfd: connect localhost: Connection refused
Man muss, um diese Fehler abzustellen, folgende Zeilen im Startup Skript /etc/rc.d/atalk ergänzen,
und zwar (bei SuSE 10.0) zwischen den Zeilen (Zeilennummer 63)
"fi" [diese ist das Ende, der if Abfrage "if [ x"${AFPD_RUN}" = x"yes" -a -x /usr/sbin/afpd ] ; then")
und "touch /var/lock/subsys/atalk" :
---Ergänzung in /etc/rc.d/atalk---
if [ "$CNID_METAD_RUN" = "yes" -a -x /usr/sbin/cnid_metad ]; then
echo -n " Starting cnid_metad "
/usr/sbin/cnid_metad
rc_status -v
fi
Danach noch den Atalk Server neu starten mit "/etc/rc.d/atalk restart" bzw. "rcatalk restart" und nun
sollten auch die älteren Macs auf die Freigabe auf dem Linux Fileserver zugreifen können.
Gruss
cykes
---Ergänzungen---
(E1) Ergänzungen von anderen Forenmitgliedern:
Man sollte bei der Migration eines Windows NT4, Windows 2000 oder Windows 2003 Servers zu einem wie oben
beschriebenen Linux Fileservers darauf achten, die Dateien vom "alten" Fileserver zunächst auf einen
Mac OS X Rechner zu kopieren und danach auf die Freigaben auf dem "neuen" Linux Fileserver
(Dank an Mark Bröcker). (Anmerkung meinerseits Dürfte allerdings nur relevant sein,
wenn man nur Samba auf Linuxseite verwendet, wenn man die Daten per Appletalk auf den Linuxserver umkopiert
dürfte es keine Probleme mit den Berechtigungen/Dateibeschreibungen geben.
(E2) Eigene Ergänzungen:
Da die Forensoftware meine komplette Formatierung über den Haufen geschmissen hat,
indem sie "überflüssige" Leerzeichen entfernt hat, wurde das Tutorial etwas schwer lesbar,
falls jemand Interesse an der etwas schöner formatierten Version hat, kann er sich per PM bei mir melden.
(E3) 31.10.2008 - Habe mal die Formatierung geändert, nun sollte wieder alles korrekt bzw. lesbarer
dargestellt werden.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 25550
Url: https://administrator.de/tutorial/howto-linux-windows-und-macos-in-einem-netzwerk-mit-linux-als-fileserver-25550.html
Ausgedruckt am: 23.12.2024 um 14:12 Uhr
19 Kommentare
Neuester Kommentar
Nette Anleitung, leider wird dort wo es spannend wird auf Google verwiesen. Bei Google wuerde man sicher diese Anleitung auch finden.
Aus meiner Erfahrung funktioniert das beschriebene gut, wenn verschiedene Voraussetzungen erfuellt sind.
1. nur Linux als Fileserver
2. nicht mehr als eine Handvoll Windows Rechner
3. nicht allzuviele User, die nur wenig gebrauch von Gruppen machen
zu.1: Sobald man auch gemischte Windows/Linux Umbegung hat, wird es spaetestens bei den ACLs sehr schwierig und man bekommt spannenede Effekte. Die Windows ACLs sind mit den Linux (ext3) ACLs nicht wirklich kompatibel. Insbesondere Gruppen werden unter Windows sehr viel komplexer gehandhabt. Sollen die Daten von den Useren gegenseitig gesperrt werden, funktioniert das gerade noch. Wenn aber die User in diverse sich ueberschneidende Gruppen eingeteilt sind und dort die Access-Control funktionieren soll, kann man kein Linux als SMB-Fileserver benutzen. Umgekehrt natuerlich auch. Wenn man Windows Shares an Linux mounted, gibt es hier auch spannende Effekte mit der Zugriffskontrolle. Besonders, wenn jemand unter Linux auf seinem Windows-Share ein "chown" oder "chmod" macht.
zu.2 und 3. viele Windows Rechner ohne AD zu verwalten (zentrale Konfigurations- und Userdatenbank) ist sehr zeitaufwendig und führt schnell ins Chaos.
Aus meiner Erfahrung funktioniert das beschriebene gut, wenn verschiedene Voraussetzungen erfuellt sind.
1. nur Linux als Fileserver
2. nicht mehr als eine Handvoll Windows Rechner
3. nicht allzuviele User, die nur wenig gebrauch von Gruppen machen
zu.1: Sobald man auch gemischte Windows/Linux Umbegung hat, wird es spaetestens bei den ACLs sehr schwierig und man bekommt spannenede Effekte. Die Windows ACLs sind mit den Linux (ext3) ACLs nicht wirklich kompatibel. Insbesondere Gruppen werden unter Windows sehr viel komplexer gehandhabt. Sollen die Daten von den Useren gegenseitig gesperrt werden, funktioniert das gerade noch. Wenn aber die User in diverse sich ueberschneidende Gruppen eingeteilt sind und dort die Access-Control funktionieren soll, kann man kein Linux als SMB-Fileserver benutzen. Umgekehrt natuerlich auch. Wenn man Windows Shares an Linux mounted, gibt es hier auch spannende Effekte mit der Zugriffskontrolle. Besonders, wenn jemand unter Linux auf seinem Windows-Share ein "chown" oder "chmod" macht.
zu.2 und 3. viele Windows Rechner ohne AD zu verwalten (zentrale Konfigurations- und Userdatenbank) ist sehr zeitaufwendig und führt schnell ins Chaos.
Hey Kollege,
schönes Tutorial, bis auf die Tatsache, dass ich beim lesen irgendwie, auf Grund der "wilden" Formatierung, Augenkrebs bekomme!
Bei manchen Zeilen ist es nicht ersichtlich, ob diese zusammen gehören oder nicht, und genau dies ist für Newbies doch ein Stolperstein und für diese ist ein Tutorial ja gedacht.
Manchmal isst das Auge eben mit und da hier HTML Tags erlaubt sind, würde ich um doch um eine etwas übersichtliche Formatierung bitten.
Vielleicht wäre auch ein Schlagwort- und Inhaltsverzeichniss eine gute Idee.
Achja, Dreckfuhler sind auch drin und das ist bei Tutorials tödlich! Ok, der den ich auf die schnelle gesehen habe ist zwar in einem Kommentar, aber auch dies ist nicht wünschenswert!
Grüße
TwoFaces
P.S.: Ich bin ja sonst kein Pedant und mein Schreibtisch ist ein Müllhaufen, aber Tutorials sind kritisch und sollten möglichst perfekt sein, wobei sich durchaus über die Art wie perfekt perfekt ist streiten lässt.
Vielleicht schreibe ich ja mal ein Tutorial, wie Tutorials aussehen sollten!
schönes Tutorial, bis auf die Tatsache, dass ich beim lesen irgendwie, auf Grund der "wilden" Formatierung, Augenkrebs bekomme!
Bei manchen Zeilen ist es nicht ersichtlich, ob diese zusammen gehören oder nicht, und genau dies ist für Newbies doch ein Stolperstein und für diese ist ein Tutorial ja gedacht.
Manchmal isst das Auge eben mit und da hier HTML Tags erlaubt sind, würde ich um doch um eine etwas übersichtliche Formatierung bitten.
Vielleicht wäre auch ein Schlagwort- und Inhaltsverzeichniss eine gute Idee.
Achja, Dreckfuhler sind auch drin und das ist bei Tutorials tödlich! Ok, der den ich auf die schnelle gesehen habe ist zwar in einem Kommentar, aber auch dies ist nicht wünschenswert!
Grüße
TwoFaces
P.S.: Ich bin ja sonst kein Pedant und mein Schreibtisch ist ein Müllhaufen, aber Tutorials sind kritisch und sollten möglichst perfekt sein, wobei sich durchaus über die Art wie perfekt perfekt ist streiten lässt.
Vielleicht schreibe ich ja mal ein Tutorial, wie Tutorials aussehen sollten!
Hallo
Also ich probier schon lönger an dem Problem rum, dass ich ein Netzwerk zwischen Winduws und SUSE Linux herstelle, hat aber noch nie funktioniert, weil ich totaler UNIX Anfänger bin, außerdem kann es schon sein, dass ich da irgendwo beim rumprobieren mal was versemmelt habe.
Also hab ich jetzt mal dieses Tutorial probiert, aber es funktioniert immer noch nicht.
Ich hab die smb.conf Datei genau so eingestellt wie beim Tutorial beschrieben workgroup = MSHEIMNETZ, weil ich das auch bei meinem Windows habe. Dann hab ich einen Benutzer bei Linux angelegt (das ist bisschen dumm, weil ich bei LINux schon einen Benutzer mit dem Selben Namen wie der Benutzer bei meinem Winows habe.) Welchen Namen muss ich da über haupt für winuser einsetzten schon den Namen des Windows Benutzers oder????
Dann ist auch noch etwas ich wollte das mit der smbpasswd Datei machen, da hat es aber immer Fehlermeldungen gegeben, dass der Entsprechende Benutzer nicht gefunden wurde. Erst als im smbpasswd -L -a winuser eingegeben habe hat er was in die smbpasswd Datei geschrieben, seltsam!
Bei Windows in der Netzwerkumgebung sehe ich gar nichts von dem freigegebenen Ordner.
Und auch wenn ich in der Kommandozeile \\[Server]\Daten eingebe sagt er dass er nichts findet (Ich hab da für Server schon den Namen meines Servers eingetragen.)
Was mich auch irgenwie wundert: Bei Linux müsste ich doch irgendwo sehen, dass da Daten freigeben ist, bzw. der Ordner der sich dahinter verbirgt, aber ich sehe da gar nichts.
Kann mir jemand weiterhelfen?
Also ich probier schon lönger an dem Problem rum, dass ich ein Netzwerk zwischen Winduws und SUSE Linux herstelle, hat aber noch nie funktioniert, weil ich totaler UNIX Anfänger bin, außerdem kann es schon sein, dass ich da irgendwo beim rumprobieren mal was versemmelt habe.
Also hab ich jetzt mal dieses Tutorial probiert, aber es funktioniert immer noch nicht.
Ich hab die smb.conf Datei genau so eingestellt wie beim Tutorial beschrieben workgroup = MSHEIMNETZ, weil ich das auch bei meinem Windows habe. Dann hab ich einen Benutzer bei Linux angelegt (das ist bisschen dumm, weil ich bei LINux schon einen Benutzer mit dem Selben Namen wie der Benutzer bei meinem Winows habe.) Welchen Namen muss ich da über haupt für winuser einsetzten schon den Namen des Windows Benutzers oder????
Dann ist auch noch etwas ich wollte das mit der smbpasswd Datei machen, da hat es aber immer Fehlermeldungen gegeben, dass der Entsprechende Benutzer nicht gefunden wurde. Erst als im smbpasswd -L -a winuser eingegeben habe hat er was in die smbpasswd Datei geschrieben, seltsam!
Bei Windows in der Netzwerkumgebung sehe ich gar nichts von dem freigegebenen Ordner.
Und auch wenn ich in der Kommandozeile \\[Server]\Daten eingebe sagt er dass er nichts findet (Ich hab da für Server schon den Namen meines Servers eingetragen.)
Was mich auch irgenwie wundert: Bei Linux müsste ich doch irgendwo sehen, dass da Daten freigeben ist, bzw. der Ordner der sich dahinter verbirgt, aber ich sehe da gar nichts.
Kann mir jemand weiterhelfen?
Also wenn ich http://serve:901 eingebe (so heißt bei mir der netbios name), dann kommt: "Beim Laden von http... ist folgender Fehler aufgetreten: Unbekannter Rechner serve.
Wo kann ich Logfiles hinsichtlich Samba aufrufen?
Danke,
manu
Wo kann ich Logfiles hinsichtlich Samba aufrufen?
Danke,
manu
Also bei mir ist scheins tatsächlich SWAT installiert, wenn ich localhost:901 eingebe kommt ein Webinterface auf Status ist allerdings keine Aktive Verbindung, Keine Aktive Freigabe, und Keine Offene Dateien Ankezeigt!
Wenn ich auf password geht verwirrt mich das ein wenig: Ist der Benutzername egal, oder muss man da was ganz bestimmtest eingeben, was muss ich beim client/server passwort verwaltung als remote-Server eingeben??
Ist es eigentlich normal das meine Hostip so seltsam ist? 127.0.0.1 ? oder muss ich das auch in den Bereich 192.168.1.x reintun?
Also hab grad noch rumprobiert und jetzt funktionierts. Ich weiß zwar nicht genau an was es gelegen hat, aber ich hab jetzt ein anderen Arbeitsgruppe eingegeben und jetzt findet der Computer das.
Juhuu
Danke an alle.
Wenn ich auf password geht verwirrt mich das ein wenig: Ist der Benutzername egal, oder muss man da was ganz bestimmtest eingeben, was muss ich beim client/server passwort verwaltung als remote-Server eingeben??
Ist es eigentlich normal das meine Hostip so seltsam ist? 127.0.0.1 ? oder muss ich das auch in den Bereich 192.168.1.x reintun?
Also hab grad noch rumprobiert und jetzt funktionierts. Ich weiß zwar nicht genau an was es gelegen hat, aber ich hab jetzt ein anderen Arbeitsgruppe eingegeben und jetzt findet der Computer das.
Juhuu
Danke an alle.
Ich hätt da nochmal ne Frage: Wie schaffe ich es dann, das alles auch in die andere Richtung funktioniert. D.h. Das ich von Linux auf Windows zugreifen kann, damuss man ja irgenwas mit dem Samba Client machen oder?
manuel
manuel
hi
Mich würde der Inhalt des Tutorials interessieren.
Allerdings kann sich das in der derzeitigen Formatierung kein mensch durchlesen.
Da hat es irgendwie alles zerschossen.
Könntest du das bei Gelegenheit vllt nochmal überarbeiten?
Bei über 31.000 Aufrufen in 2 Jahren wäre das sicherlich die Mühe wert.
Gruß
Tolwyn
Mich würde der Inhalt des Tutorials interessieren.
Allerdings kann sich das in der derzeitigen Formatierung kein mensch durchlesen.
Da hat es irgendwie alles zerschossen.
Könntest du das bei Gelegenheit vllt nochmal überarbeiten?
Bei über 31.000 Aufrufen in 2 Jahren wäre das sicherlich die Mühe wert.
Gruß
Tolwyn