Samba mit GNOME
Review: Dieser Artikel ist für das Review freigegeben.
|
Getestet: Dieser Hinweis soll dir dabei helfen, zu entscheiden, ob dieser Artikel auf deinem System funktionieren wird oder nicht. Solltest du feststellen, dass dieser Artikel bei einer ungetestet Version funktioniert, kannst du das gerne hier korrigieren oder im Forum anmerken.
|
Dieser Artikel bezieht sich in erster Linie auf die Desktop-Umgebung Gnome, ist aber in weiten Teilen auch für Xfce gültig.
Unter GNOME kann man sehr komfortabel Ordner und Dateien im Netzwerk freigeben und die wichtigsten Netzwerk-Einstellungen vornehmen. Oftmals kann man es sich damit ersparen, Eingaben über ein Terminal vorzunehmen oder umfangreiche Administrations-Tools wie Swat oder gadmin-samba einzusetzen.
Seit der Version 3.0.23 enthält die Samba-Suite das Tool net usershare. Dieses bietet alternativ zur klassischen Methode, Freigaben mit Root-Rechten über einen Eintrag in der Datei /etc/samba/smb.conf einzurichten, auch gewöhnlichen Benutzern die Möglichkeit, ihre eigenen Dateien ohne Root-Rechte freizugeben.
Gnome bietet Unterstützung für beide Verfahren, wobei standardmäßig nautilus-share verwendet wird, das net usershare nutzt. Installieren kann man es mit folgendem Befehl:
root@debian:~# apt-get install nautilus-share
Hinweis: Das Tool gnome-user-share ist trotz der Namensähnlichenkeit mit net usershare kein Samba-Tool. (Es bietet öffentliche Bluetooth und Web-Freigaben (apache, http, WebDAV) und macht keinen Gebrauch von Samba.) |
Installation
Damit Verzeichnisse im Netzwerk per SMB/CIFS Protokoll (bzw. als "Windows-Freigabe") angesprochen werden können, muss folgendes Metapaket aus den Paketquellen installiert sein:
Dieses Programm lässt sich aber bequem aus den Quellen installieren mit:
root@debian:~# apt-get install samba
Der Dateimanager Nautilus nutzt mit dem Zusatzpaket nautilus-share das Samba-Tool net usershare um Verzeinisse im Netzwerk freizugeben. Persönliche Freigaben können jedoch nur von Mitgliedern der Gruppe sambashare eingerichtet werden. Dies erreicht man durch folgenden Eingabe im Terminal:
root@debian:~# usermod -aG sambashare BENUTZERNAME
Für persönliche Freigaben gibt es keinen Eintrag in der allgemeinen Konfigurationsdatei /etc/samba/smb.conf. Statt dessen wird für jede dieser Freigaben im Ordner /var/lib/samba/usershares/ eine eigene kleine Textdatei mit den nötigen Angaben angelegt. Diese ist Besitz des jeweiligen Benutzers; nur dieser kann sie verändern oder löschen. Normalerweise sollte diese Datei nicht mit einem Editor bearbeitet werden!
Warnung: Die Installation von Samba auf einem Rechner mit direktem Zugang zum Internet (ohne Router mit NAT) oder zu unsicheren Netzen kann ein Sicherheitsrisiko sein. Nötigenfalls sollte man dann die Zugriffsmöglichkeit über die Optionen interfaces und bind interfaces only in der Datei /etc/samba/smb.conf einschränken. |
Freigabe erstellen
Nach einem Rechtsklick auf ein Ordner-Symbol klickt man "Freigabeoptionen" an. Es öffnet sich das selbsterklärende nebenstehende Dialogfenster. Man trägt für die Freigabe einen Namen und optional einen Kommentar ein und hakt an, was gewünscht wird:
- überhaupt freigeben
- Schreibrechte einräumen
- Gastzugang (ohne Passwort) erlauben
Alternativ gelangt man auch über "Eigenschaften -> Ordner freigeben" zum gleichen Dialog.
Schreibrechte
Über Nautilus kann man mit net usershare Schreibrechte nur für alle oder für niemand einräumen. Insbesondere bedeutet dies, dass bei öffentlichen Freigaben mit Gastzugriff die (sinnvolle) Einstellung "Besitzer darf schreiben und Gäste nur lesen" nicht vorgesehen ist. Differenziertere Einstellungen sind über das Terminal möglich.
Sollte ein Ordner nicht für einen Gast freigegeben werden, sondern nur durch Eingabe seines Systempasswortes kann man noch das Plugin libpam-smbpass installieren:
root@debian:~# apt-get install libpam-smbpass
Gastzugriff und Benutzerkonto
Öffentliche Freigaben (mit Gastzugriff) können sofort ohne weitere Vorbereitung eingerichtet werden. Möchte man jedoch den Zugriff auf Benutzer mit einem Benutzerkonto (Benutzername und Passwort) beschränken, muss zuvor ein solches eingerichtet werden. Hierfür sind Root-Rechte nötig. Wie dies geschehen kann, ist weiter unten beschrieben.
Zugriffsrechte automatisch anpassen
Weil Samba nichts erlauben kann, was auf dem Server selbst verboten ist, müssen oftmals noch die Zugriffsrechte für die freigegebenen Dateien angepasst werden. Dafür erscheint dann ein neues Dialogfenster mit dem Vorschlag, diese Anpassung von Nautilus automatisch durchführen zu lassen. Leider erscheint dieses Dialogfenster auch dann, wenn eine solche Anpassung gar nicht möglich ist (z.B. FAT- oder NTFS-Partition).
Hinweis: Die automatische Anpassung der Zugriffsrechte wird nur für die freigegebenen Dateien bzw. Ordner selbst durchgeführt; eventuell muss man zusätzlich noch die Zugriffsrechte übergeordneter Ordner von Hand anpassen. |
Dateien von Windows-Partitionen freigeben
Mittels Gnome/Nautilus lassen sich auch Ordner und Dateien freigeben, die sich auf einer Partition mit einem der Windows-Dateisysteme FAT oder NTFS befinden. Allerdings gibt es dabei einiges zu beachten:
- Über net usershare kann ein Benutzer immer nur Dateien freigeben, die ihm selbst gehören. Da Windows-Partitionen bei der Installation von Debian standardmäßig als Besitz von "Root" eingebunden werden, sind ggf. die Einträge in der Datei /etc/fstab geeignet zu verändern (üblicherweise uid=1000 statt uid=0).
- Auch wenn ein entsprechendes Fenster erscheint, kann Nautilus die Zugriffsrechte auf FAT-Partitionen nicht anpassen. Insbesondere ist ein Gast-Zugriff auf eine Freigabe auf einer FAT-Partition nur dann möglich, wenn dieser über die Mount-Option umask in fstab erlaubt wird.
- Auch bei NTFS-Partitionen die mit den Standard-Optionen eingebunden sind, lassen sich die Zugfriffsrechte nicht nachträglich ändern. Mit den Mount-Optionen permissions und acl eingebundene NTFS-Partitionen verhalten sich dagegen wiePartitionen mit einem Linux-Dateisystem.
Hinweis: Für das Freigeben von Dateien und Ordnern auf FAT-Partitionen lassen sich die Besitz- und Zugriffsrechte nicht nachträglich anpassen. Sie müssen vorher schon beim Einbinden der Partitionen geeignet festgelegt werden. Gleiches gilt für NTFS-Partitionen, wenn diese nicht mit den Mount-Optionen permissions und acl eingebunden sind. |
Zugriffsrechte und Sicherheit
Die automatische Änderung von Zugriffsrechten auf dem Server ohne detaillierte Rückmeldung kann bei unbedachter Anwendung leicht dazu führen, dass unbemerkt unerwünschte oder gar gefährliche Berechtigungen entstehen. Leicht wird vergessen, dass die veränderten Zugriffsrechte auf dem Server auch dann bestehen bleiben, wenn eine vorübergehende Freigabe wieder aufgehoben wird.
Warnung: Zu großzügig gewährte Zugriffsrechte können vor allem in Netzwerken ein Sicherheitsrisiko darstellen! Auf Rechnern mit direkter Verbindung zum Internet (ohne Router) und Laptops, die sich gelegentlich auch mit fremden oder öffentlichen Netzen verbinden, sind öffentliche Freigaben (mit Gast-Zugang) grundsätzlich zu vermeiden. |
Persönliche Freigaben im Terminal
Nicht alle Dateimanager bieten wie Nautilus die Möglichkeit, persönliche Freigaben einzurichten. Vielleicht möchte man auch die Zugriffsrechte auf persönliche Freigaben differenzierter gestalten, als Nautilus dies vorsieht. In diesen Fällen lassen sich persönliche Freigaben über ein Terminal einrichten. Der allgemeine Aufruf sieht dann so aus:
user@debian:~$ net usershare add NAME_DER_FREIGABE PFAD/ZUR/FREIGABE
Werden keine Parameter angegeben, so werden die Freigaben ohne Schreibrechte und ohne Gastzugang erstellt. Die allgemeine Syntax für die Befehlszeile ist: {{UserShell|net usershare add sharename path [comment] [acl] [guest_ok=[y|n]] Unter "acl" können für die einzelnen Benutzer die Zugriffsrechte festgelegt werden (f = voller Zugriff, r = nur lesen, d = kein Zugriff). Beispiel: {{UserShell|net usershare add Musik ~/Musik Everyone:f guest_ok=yes Löschen lassen sich persönliche Freigaben mittels:
user@debian:~$ net usershare delete NAME_DER_FREIGABE
Allgemeine Freigaben
Mit "allgemein" oder "administrativ" werden solche Freigaben bezeichnet, die in die Datei /etc/samba/smb.conf eingetragen und damit unabhängig vom jeweils angemeldeten Benutzer verfügbar sind. Allgemeine Freigaben einzurichten, zu löschen oder zu verändern ist denjenigen Benutzern vorbehalten, die als Mitglieder der Gruppe admin berechtigt sind, über sudo Root-Rechte zu erlangen.
Weil allgemeine Freigaben grundsätzlich mit Root-Rechten erstellt werden, entfällt bei ihnen auch die Einschränkung, dass jeder Benutzer nur seine eigenen Dateien freigeben kann.