{{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Paketverwaltung:Pakete installieren] [:Dienste: Dienste starten und stoppen] }}} [[Inhaltsverzeichnis(3)]] = Grundlegendes = Unter "Samba Server" kann man Verschiedenes verstehen. Werden auf einem privaten Arbeitsrechner ein paar Dateien für den Zugriff vom eigenen Notebook aus freigegeben, so ist dieser damit im Grunde schon ein "Samba Server". In diesem einfachen Fall werden Überlegungen zur Sicherung vor Missbrauch und zur Zugriffskontrolle nicht an erster Stelle stehen. Die graphischen Oberflächen [:GNOME:] und [:KDE:] bieten für solche Fälle einfache Lösungen an. Siehe hierzu [:Samba Server/GNOME:] und [:Samba Server/KDE:]. Unter einem "Server" im engeren Sinne kann man auch einen Rechner verstehen, dessen Aufgabe ausschließlich oder überwiegend darin besteht, Daten in einem Netzwerk zur Verfügung zu stellen und die Zugriffe darauf zu steuern. Bei einem solchen Server wird man häufig auf eine graphische Oberfläche ganz verzichten, da diese zusätzlich Rechenleistung und Speicherplatz in Anspruch nimmt (siehe [:Server Installation:]). Da es sich hier meist um Mehrbenutzer-Systeme handelt, spielen Sicherheit und Zugriffskontrolle dabei eine entscheidende Rolle. Samba bietet dafür sehr differenzierte Möglichkeiten. Dieser Artikel behandelt die Konfiguration eines einfachen Samba Servers ohne die Hilfsmittel einer speziellen graphischen Oberfläche. Samba lässt sich auch in sehr komplexen Netzwerk-Strukturen mit mehreren Domänen und ganz verschiedenen beteiligten Betriebssystemen einsetzen; nach oben gibt es kaum Grenzen. Dies umfassend zu beschreiben, würde den Umfang eines Wiki-Artikels sprengen. Hierfür sollte man sich in die ausführliche [http://gertranssmb3.berlios.de/output/index.html Dokumentation] {de} einarbeiten. Einzelne weiterführende Themen werden auch in [:Samba_Server/PDC:] und [:Samba_Winbind:] behandelt. Nicht selten wird bei einem Server auf eigene Bedienungselemente ganz verzichtet; die Bedienung erfolgt dann von einem Client aus (Remote Administration). Wie dies zu bewerkstelligen ist, erklären die Artikel [:SSH:] und [:FUSE/sshfs:]. = Installation = Um Samba verwenden zu können, muss es zuerst installiert werden. Folgende Pakete sind dafür erforderlich: * '''samba-common''' - Basistools von Samba wie z.B. '''smbpasswd''' * '''samba''' - Der eigentliche Samba Server. Dieses [:Metapakete: Metapaket] enthält auch die übrigen, zur Einrichtung eines einfachen Samba-Servers nötigen Pakete. Sinnvoll sind in vielen Fällen auch folgende Pakete: * '''samba-doc''' - Die Dokumentation zu Samba * '''samba-doc-pdf''' - Die Dokumentation von Samba als PDF Dateien * '''tdb-tools''' - Tools für die Samba Benutzerdatenbank = Benutzerverwaltung = Samba hat in der Standardinstallation eine vom System getrennte Benutzerverwaltung, welche mit dem Befehl '''smbpasswd''' administriert wird. {{{#!vorlage Befehl sudo smbpasswd -a # Fügt den Benutzer der Samba Datenbank hinzu und aktiviert diesen sudo smbpasswd -x # Entfernt den Benutzer aus der Samba Datenbank sudo smbpasswd -d # Deaktiviert den Benutzer in der Datenbank sudo smbpasswd -e # Aktiviert den vorher deaktivierten Benutzer in der Datenbank wieder }}} Für den Benutzer, den man der Datenbank von Samba hinzugefügt hat, kann man ein Passwort vergeben. Dies kann sofort nach der Eingabe des Befehls {{{#!vorlage Befehl sudo smbpasswd -a }}} verdeckt (d.h. ohne Anzeige) geschehen. Der gleiche Befehl kann auch verwendet werden, um das Samba-Passwort eines bereits eingetragenen Benutzers nachträglich zu ändern. Es ist ratsam, aber nicht erforderlich, für Samba das gleiche Passwort wie das Systempasswort des Benutzers zu nehmen. Auch müssen Benutzer, die der Datenbank von Samba hinzugefügt werden, schon auf dem System als "normale" Benutzer vorhanden sein. Durch das Deaktivieren des Benutzers kann erreicht werden, dass der Zugriff auf Samba für diesen Benutzer gesperrt wird, ohne jedoch das Passwort zu verändern oder den Benutzer löschen zu müssen. = Konfiguration = == Die Konfigurationsdatei /etc/samba/smb.conf == Der Samba-Server wird über die Datei '''[:Samba Server/smb.conf: /etc/samba/smb.conf]''' konfiguriert, welche mit einem Texteditor und nur mit Root-Rechten bearbeitet werden kann. Alternativ ist auch eine Bearbeitung dieser Datei über das Webinterface [:Samba Server/Swat: Swat] möglich. Im Folgenden wird beschrieben, wie man die wichtigsten Einstellungen am Samba-Server vornimmt und wie man Freigaben erstellen bzw. verwalten kann. == Allgemeine Freigaben == Allgemeine Freigaben werden direkt in die Datei '''/etc/samba/smb.conf''' an deren Ende eingetragen. Dazu wird zuerst in eckigen Klammern der Name angegeben, unter dem die Freigabe im Netz verfügbar ist. In der nächsten Zeile folgt der Pfad zur freigegebenen Datei oder Ordner auf dem Server. Dann folgen Parameter, die nur für diese Freigabe gelten. Beispiel: {{{ [Daten (D)] path = /media/Daten public = no writable = yes }}} Der Parameter "public" legt fest, ob nicht eingetragene Benutzer als "Gäste" ohne Passwort Zugriff haben sollen. Parameter brauchen grundsätzlich nur dann angegeben zu werden, wenn ihr Wert vom Standardwert (Default) abweicht. Näheres zu den einzelnen Parametern siehe [:Samba Server/smb.conf: smb.conf] oder [http://us1.samba.org/samba/docs/man/manpages-3/smb.conf.5.html hier] {en} {{{#!vorlage Warnung Vor jeder Veränderung der Datei '''/etc/samba/smb.conf''' sollte unbedingt eine Kopie der ursprünglichen Fassung angelegt werden. Ganz besonders gilt dies für jede Bearbeitung mit [:Samba Server/Swat:Swat]. Vor dem Aktivieren überprüft man die Datei mit "testparm" }}} == Persönliche Freigaben == Seit der Version 3.0.23 bietet Samba zusätzlich noch die Möglichkeit, dass auch gewöhnliche Benutzer, die der [:Benutzer und Gruppen: Gruppe] ''"sambashare"'' angehören, ihre Dateien ohne Root-Rechte freigeben können. Dieses Verfahren wird mit ''"net usershare"'' bezeichnet. Solcherart vorgenommene Freigaben werden dann nicht in '''/etc/samba/smb.conf''' eingetragen, sondern es wird für jede persönliche Freigabe eine eigene Textdatei erstellt, die in der Regel im Ordner '''/var/lib/samba/usershares''' als Besitz des jeweiligen Benutzers abgelegt wird. Unter dem Namen dieser Datei ist die Freigabe im Netz verfügbar. Der Inhalt der Datei ist der Pfad zur Freigabe auf dem Server, ein optionaler Kommentar, die Usershare-ACL (Access Control List) sowie ein Parameter, ob Gast-Zugang gestattet wird. Beispiel: {{{ #VERSION 2 path=/home/farber/Gemeinsam comment= usershare_acl=S-1-1-0:R guest_ok=n }}} Seit Ubuntu 8.04 Hardy Heron wird von [:GNOME:]/[:Nautilus:] nur noch dieses Verfahren unterstützt (siehe hierzu auch [:Samba Server/GNOME:]). Weitere Informationen in der [:man: Manpage] "man net" im Abschnitt "usershare". Allgemeine Freigaben (über einen Eintrag in '''smb.conf''') und persönliche Freigaben (mittels ''"net usershare"'') können nebeneinander verwendet werden. Möchte man sich jedoch auf persönliche Freigaben beschränken, so sind meist __keine Änderungen__ an der bei der Installation automatisch angelegten Datei '''smb.conf''' nötig. Wird diese jedoch geändert, so kann dies auch Auswirkungen ''"net usershare"'' und damit auf persönliche Freigaben haben. = Administrative Tools = == Überprüfen der smb.conf == Um die Konfigurationsdatei '''/etc/samba/smb.conf''' auf ihre Gültigkeit prüfen zu lassen, wird '''testparm''' verwendet: {{{#!vorlage Befehl testparm }}} == Server (neu) starten == Nachdem man Änderungen an der Samba-Konfiguration vorgenommen hat, kann Samba neu gestartet [4] werden, damit die Änderungen sofort wirksam werden. Dies erfolgt aus einem Terminal heraus [2] mit dem Befehl: {{{#!vorlage Befehl sudo /etc/init.d/samba restart }}} {{{#!vorlage Hinweis Der Samba-Server liest die Konfigurationsdatei auch im Intervall von ca. 90 Sekunden regelmäßig ein. Das bedeutet, Änderungen werden auch ohne Neustart von Samba selbstständig übernommen. }}} = Links = == Verwandte Seiten == * [:Samba_Server/GNOME:] - Die grafische Konfiguration von Freigaben mit [:GNOME:] * [:Samba_Server/KDE:] - Die grafische Konfiguration von Freigaben mit [:KDE:] * [:Samba_Server/smb.conf:] - Eine Einführung in die Konfigurationsdatei '''/etc/samba/smb.conf''' mit einigen Beispielen * [:Samba_Server/PDC:] - Eine Beschreibung, wie man Samba als Primary Domain Controller (PDC) nutzen kann * [:Samba Winbind:] - Ubuntu an einer Windows Domäne anmelden und die Benutzer am "Active Directory" authentifizieren * [:Samba_Server/Swat:] - "Swat", das offizielle Webinterface von Samba == Ergänzende und weiterführende Informationen == * [http://us1.samba.org/samba/ Die Homepage des Samba Projektes] {en} * [http://samba.sernet.de/ Die deutsche Homepage des Samba Projektes] {de} * [http://gertranssmb3.berlios.de/output/index.html Samba-HOWTO-Sammlung] {de} * [http://www.oreilly.de/german/freebooks/samba2ger/ Open Book "Samba", 2. Auflage, O'Reilly-Verlag, 2003.] {de} # tag: Netzwerk, Server