Dokumentation zu Samba Praxis Grundsätzliches Alle Ausführungen sind aufgrund meiner Erfahrungen im praktischen Arbeiten mit Samba entstanden. Ich verwende Suse Distributionen ab 7.0. Mit Samba ist es möglich einen PDC für ein Windows Netzwerk zu emulieren. Gerade in Netzwerken mit Windows 9x Clients ist Samba eine günstige und stabile Lösung und auch im Vergleich zu Windows NT eine sehr schnelle. Ab Version 2.1.a lässt sich ein kompletter NT Server auch für Windows 2000 emulieren. Ausgegangen wird von einer funktionierenden Suse-Installation. Das Samba Paket kann über Yast in Sektion n nachinstalliert werden. Funktionierende Netzwerkkarte. Ausreichender Speicherplatz. Benötigte Hardware Eingerichtet wurden Systeme ab Pentium mit 166 MHz mit 64 MB Arbeitsspeicher. Diese Systeme sind aber meist noch für weitere Aufgaben im Netzwerk zuständig. Genutzt werden die Dateidienste auf diesen Systemen von bis zu 40 Personen, auch mit großen Dateien, z. B. Zeichnungen, Bilder. Inbetriebnahme Schritt für Schritt 1. Netzwerk einrichten und überprüfen 2. Software installieren 3. Systemeinstellungen, um Samba zu starten 4. inetd starten zur Netzwerkkonfiguration 5. Funktion überprüfen 6. Benutzerverwaltung 7. Dateirechte 8. Benutzer anlegen 9. Passwort ändern 10. Benutzerverwaltung und Windows-Benutzernamen 11. Verzeichnisse anlegen 12. Was ist los? - Transparenz durch Log Dateien 13. Speichern von Dateien 14. Die Konfigurationsdatei 15. Freigaben in smb.conf Shares 16. Beispielkonfiguration 17. Administration über das Netzwerk 18. Zeit-Server 19. Login Script 20. Lesestoff 21. Quellen 1.Kurzer Exkurs Netzwerk einrichten Über Yast die Netzwerkkarte einrichten - Administration des Systems - Hardware in System integrieren - Netzwerkarte konfigurieren Den Typ der Netzwerkarte stellt man mit der Ausgabe des Befehls lspci -v fest. Ist die Hardware eingerichtet wird mit: - Administration des Systems - Netzwerk konfigurieren - Netzwerk - Grundkonfiguration Netzwerktyp ist Ethernet, Device Name ethx, IP-Adresse festlegen, Aktivieren und Abspeichern. Mit rcnetwork start kann das Netzwerk von Hand gestartet werden. Mit ifconfig kann überprüft werden, zu welchem Ergebnis die vorgenommenen Netzwerkeinstellungen führen. Jetzt kann die Verbindung nach außen überprüft werden. Mit ping, iptraf, route ist das möglich. Am einfachsten ist dies mit ping IP-Zielrechner möglich. Z. B. Ping 10.0.0.12. Wenn hier zeilenweise Ausgaben kommen, funktioniert die Verbindung. Gestoppt wird die Verbindung mit . Danach wird eine Zusammenfassung angezeigt. Wichtig ist hier 0% packet loss. Von der anderen Seite aus, also unter Windows, kann der Befehl unter Ausführen eingegeben werden oder in der MS-DOS Eingabeaufforderung. Damit ist die Verbindungsüberprüfung abgeschlossen. Eine auf dem Linux Rechner laufende Firewall kann die Überprüfung behindern. 2. Software installieren Die aktuelle Version kann unter www.samba.org aus dem Internet beschafft werden. Die ca 6 MB große Datei wird nach dem Download mit tar -xvzf samba-2.2.1.a.tar.gz entpackt. Anschließend ./configure im entpackten /source Verzeichnis ausführen, dann make und zum Abschluss make install. Bei SUSE wird mit yast die benötigte Software nachinstalliert. In der Sektion n samba und smbclient auswählen und installieren. 3. Systemeinstellungen um Samba zu starten Samba kann als eigenständiger Dämonen oder durch inetd gestartet werden. Bei Suse sind die Einträge in den entsprechenden Dateien schon vorhanden und müssen nur auskommentiert werden. Yast aufrufen um die Konfigurationsdatei zu verändern. - Administration des Systems - Konfigurationsdatei verändern START_SMB suchen und Wert auf yes setzen. Hierdurch wird in der Datei /etc/rc.conf auf yes gesetzt. Wenn jetzt schon klar ist, ob samba aus der Ferne administriert werden soll, so kann der Wert für START_INETD auch gleich auf yes gesetzt werden. Mit init 6 kann das System neu gestartet werden. Nach dem Einloggen kann überprüft werden, ob die Notwendigen Dienste smbd und nmbd auch tatsächlich laufen. Alternativ kann auch die Datei /etc/rc.config editiert werden, um Samba zu starten. Allerdings ist der Weg über Yast sicherer, weil sichergestellt ist, daß gegebenenfalls alle weiteren Dateien angepaßt werden, sofern es mehr als eine betrifft 4. inetd Starten zur Konfiguration über das Netzwerk. Um Samba über das Netzwerk zu administrieren, können die Grundlagen jetzt eingerichtet werden. Zu beachten ist hierbei, daß durch die Einrichtung dieser Möglichkeit Sicherheitslücken entstehen können. Die Möglichkeit zum Einsatz von SWAT wird über den Dämon inetd freigegeben. Die Konfigurationsdatei inetd.conf muß folgende Zeile eingetragen oder auskommentiert werden: swat stream tcp nowait.400 root /usr/sbin/swat/ swat Daneben ist noch die Datei /etc/services zu überprüfen. Hier muß die folgende Zeile vorhanden sein: swat 901/tcp 5. Funktion überprüfen Die Überprüfung erfolgt mit testparm. Testparm ist die Rechtschreibprüfung für smb.conf. Die Überprüfung erfolgt auf syntaktische und lexikalische Fehler. Gedankliche Fehler werden nicht angezeigt. Mit testparm HostIP kann überprüft werden, ob auf den Sambaserver zugegriffen werden kann. Läuft testparm ohne Fehlermeldung durch, so kann mit ps fax|grep bd überprüft werden, ob die beiden Daemonen laufen. Die Ausgabe von ps fax|grep bd oder ps aux sollte auf die beiden Zeilen mit den Endungen /usr/sbin/nmbd -D und /usr/sbin/smbd -D überprüfen. Sind die Einträge vorhanden, ist bis hierher alles in Ordnung. Sollte hier nmbd nicht gestartet werden, so liegt dies meist daran, daß mehrere Netzwerkkarten im System eingebaut sind und bei interface = in der Datei smb.conf kein entsprechendes Interface zugeordnet ist. Zum Abschluss kann lokal mit smbclient -L IP-Adresse versucht werden auf freigegebene Verzeichnisse zuzugreifen. Hierzu ist die Eingabe eines Passworts notwendig. Wenn es hier Probleme gibt, so sollte in den Log Dateien nachgesehen werden.. 6. Benutzerverwaltung Um Benutzer für Samba anzulegen, müssen diese erst im System selbst angelegt werden, in exakt der selben Schreibweise. Rechte auf Daten werden nur im Rahmen eines Linux – Datei systems vergeben. Nach dem Anlegen der Benutzer im System selbst müssen diese noch für Samba angelegt werden. 7. Linux Dateirechte Samba verändert die Rechte bestehender Unix Dateien nicht. Wenn eine Datei neu erstellt wird, muß Samba wissen , welche Rechte der Eigentümer, die Gruppe und alle anderen Benutzer bekommen sollen. Diese Rechte werden aber noch weiter verarbeitet. Für Dateien und Verzeichnisse gilt, daß bestehende Verzeichnisse in Ruhe gelassen werden. Für neu erstellte Verzeichnisse und Dateien werden Zugriffsrechte zugewiesen. Informationen über Dateien werden angezeigt nach der Eingabe von ls -l. Dadurch werden zusätzliche Informationen zum Datei- bzw. Verzeichniseintrag wie Zugriffsrechte, Eigentümer, Gruppenzugehörigkeit und Größe ausgegeben. Erklärung der Unix-Datei Attribute Rechte Das erste Zeichen dieses Feldes bezeichnet den Dateityp, Hierbei steht d für Verzeinis, l für Link und – für eine normale Datei. Die folgenden 9 Zeichen geben die Zugriffsrechte für den Besitzer, die Gruppe und alle anderen Benutzer an (jeweils drei Zeichen). r steht für lesen, w für schreiben, x für ausführen. Besitzer Der Eigentümer der Datei. Siehe man Page von chown (man chown). Gruppe Die Gruppenzugehörigkeit der Datei. Siehe Manuale-Page von chgrp Größe Die Größe der Datei in Bytes letzte Änderung Das Datum der letzten Änderungen der Datei. Bei Dateien, deren letzte Änderung über ein Jahr zurückliegt, wird anstelle der Uhrzeit das Jahr angegeben. Name Name der Datei oder des Verzeichnisses. Die Oktalzahlen bezeichnen die Dateirechte mit Zahlen von 0 keine Datei Rechte , bis 7 alle Rechte. Auch hier gilt ein Stelle für den Besitzer, eine für die primäre Gruppe und eine für alle anderen. Auch durch die Oktalzahlen können die Dateirechte geändert werden. Die Ziffern setzen sich so zusammen 4 = Leserecht, 2 = Scheibrecht, 1 = Ausführungsrecht9 Es gibt drei Möglichkeiten, um unter Unix die Dateirechte für Dateien und Verzeichnisse zu ändern: chmod, chown und chgrp. Alle drei arbeiten anders und haben auch andere Ergebnisse zu Folge. chmod ändert die Zugriffrechte einer Datei. Durch folgenden Aufruf: chmod ein Leerzeichen gefolgt von folgenden Optionen. g = Gruppe, u = Users, o = Others, a = alle. Ohne Lerrzeichen folgt ein + oder – Zeichen. wieder ohne Leerzeichen die Liste der rechte die gegeben oder genommen werden sollen, r = Lesen, w = Schreiben, x = Ausführen. Im Anschluss daran folgt durch ein Leerzeichen getrennt der Dateiname. Chmod kann nur der Eigentümer und Rott erfolgreich verwenden. Beispiele: chmod go-rwx privat bedeutet allen Fremden Anwendern jeglichen Zugriff auf eine Datei privat zu verwehren. chmod -R ug+rw * bedeute, alle Dateien im aktuellen Verzeichnis und allen Unterverzeichnissen das Lese- und Schreibrecht für sich und die jeweilige Dateigruppe einräumen Die Gruppenattibute einer Datei werden durch den Befehl chgrp anschließend Leerzeichen, dann der Name der Gruppe und wieder ein Leerzeichen gefolgt von dem Dateinamen. Beispiele: chgrp users Dateiname Die Datei wird der Gruppe users zugeordnet. Der Eigentümer und die Gruppe einer Datei werden durch chown geändert Beispiele: chown root Dateiname chown paul.users Dateiname Im ersten Beispiel wird Root neuer Eigentümer der Datei. Im zweiten erhält die Datei den neuen Eigentümer Paul und die Gruppe Users. Nur Root darf die Eigentümerschaft von Dateien ändern. 8. Benutzer anlegen Bei der Wahl des Benutzernamens sollte man sich auf Kleinbuchstaben und Ziffern beschränken. Das erste Zeichen muß auf jeden Fall ein Buchstabe sein. Leerzeichen Unterstriche und Ausrufezeichen sind zwar erlaubt, können aber zu Problemen führen. Benutzer für Unix anlegen: useradd -g users -d “/home/mustermann“ -c „Hans Mustermann“ -s „/bin/false“ -m mustermann Mit diesem Befehl wird der Benutzer „mustermann“ mit diesen Einstellungen angelegt: Benutzername: „mustermann“ Primäre Gruppe: „users“ Homeverzeichnis: „/home/mustermann“ Beschreibung des Benutzers:“Hans Mustermann“ Login Shell:“/bin/false“ –kann sich nicht anmelden Jetzt muß dieser Benutzer noch in Samba angelegt werden: Mit smbpasswd werden neue Benutzer angelegt, als Auszug folgende Parameter: -a Ein Benutzer wird hinzugefügt -x Einen Benutzer löschen -e Einen Benutzer auf aktiv setzen -d Einen Benutzer auf inaktiv setzen smbpasswd -a -e mustermann Passwort Passwort wiederholen Jetzt sollte sich der Benutzer „mustermannn“ anmelden können Die Überprüfung, ob die Benutzer in Samba tatsächlich angelegt sind, kann in der Datei /etc/smbpasswd/ überprüft werden. Ist der Benutzer korrekt angelegt, so steht der Benutzername in einer Zeile und dahinter das verschlüsselte Passwort. 9. Passwort ändern Verschlüsselte und unverschlüsselte Passwörter Passwortsynchronisation, mit der Einstellung unix password sync in der Datei smb.conf lässt sich das Unix und Samba passwortsynchronisation automatisierten. Dazu muss die Einstellung in der Einstellung passwd chat überprüft und evtl. angepasst werden. Mit der angegebenen Zeichenkette (Strings) wird die Unterhaltung (Chat) zwischen dem passwd-Programm und smbd beim Ändern des Passworts konfiguriert. 10. Benutzerverwaltung und Windows Benutzernamen Beispiel zum Anmelden: Den Windows Benutzernamen „Gerd Zeiler“ unter Samba PDC anmelden. UserMap anlegen in der steht, daß User Gerd Zeiler der Linux-User gz ist. Eintrag in der smb.conf, username map= /etc/samba/username.map. In der username.map steht dann !gz = „Gerd Zeiler“ !fz = „Franz Zeiler“ guest = * Das mappt den Windows-User Gerd Zeiler auf den Unix-User gz und einen Windows-User Franz Zeiler auf den Unix-User fz und alle anderen auf den Unix user guest. Das Ausrufezeichen am Anfang teilt samba mit, das