Daten austauschen

Freigaben: Windows & Linux im Netzwerk verbinden

20.01.2016 von Thorsten Eggeling
Im Netzwerk vertragen sich Linux und Windows gut. Mit der richtigen Software und Konfiguration stellt der Datenaustausch über Netzwerkfreigaben in beide Richtungen kein Problem dar.

SMB/CIFS ist das Standardprotokoll für Netzwerkfreigaben unter Windows. Es lässt sich jedoch auch unter Linux, Android und Mac OS X verwenden. SMB steht für „Server Message Block“-Protokoll. Dieses Netzwerkprotokoll stammt ursprünglich von IBM und die Weiterentwicklung unter dem Namen CIFS (Common Internet File System) von Microsoft. Es kommt zum Einsatz, wenn Sie unter Windows im Netzwerk Speicherplatz beziehungsweise Dateien für andere Nutzer bereitstellen oder auf diese zugreifen möchten.

Auf einem Linux-System stellt das Programmpaket Samba Funktionen für Netzwerkfreigaben bereit. Samba besteht aus einem Client und einem Server. Der Client ist bei den meisten Linux-Distributionen standardmäßig installiert und erlaubt den Zugriff auf die Netzwerkfreigaben anderer Rechner. Den Serverteil müssen Sie bei einigen Distributionen nachinstallieren. Dann lassen sich unter Linux Freigaben einrichten, auf die auch Windows-Nutzer über das Netzwerk zugreifen können.

Dieser Artikel bezieht sich hauptsächlich auf Linux Mint und Ubuntu. Bei anderen Linux-Distributionen funktioniert die Konfiguration ähnlich. Die Bezeichnungen der Software-Pakete weichen jedoch ab und in einigen Fällen sind zusätzliche Schritte erforderlich, um den Samba-Server zu aktivieren.

1. Freigaben eigener Ordner über den Dateimanager erstellen

Bei Linux Mint ist der Samba-Server bereits installiert. Sie können daher Ordner aus Ihrem eigenen Home-Verzeichnis sofort und ohne Umwege freigeben. Öffnen Sie den Dateimanager per Doppelklick auf das Symbol „Persönlicher Ordner“ auf dem Desktop. Klicken Sie den Ordner, den Sie freigeben möchten, mit der rechten Maustaste an und wählen Sie im Kontextmenü „Freigabeoptionen“. Nun öffnet sich ein Fenster, in dem Sie ein Häkchen vor „Diesen Ordner freigeben“ setzen. Es gibt außerdem die Optionen „Anderen erlauben, Dateien in diesem Ordner zu erstellen und zu löschen“ und „Gastzugriff“ (für Nutzer ohne Benutzerkonto). Sind hier Häkchen gesetzt, will der Dateimanager die Zugriffsrechte des Ordners und der enthaltenen Elemente ändern, damit andere Benutzer Dateien öffnen oder erstellen können. Bestätigen Sie das per Klick auf „Die Zugriffsrechte automatisch hinzufügen“. Der Gastzugriff erfordert keine Authentifizierung, erlaubt aber nur lesenden Zugriff. Ohne aktivierten Gastzugriff müssen Sie noch ein Passwort festlegen, wie unter Punkt 2 beschrieben. Ansonsten können Sie sich von einem Windows-PC aus nicht anmelden.

Bei Ubuntu ist der Samba-Server standardmäßig nicht installiert. Der Kontextmenüpunkt im Dateimanager heißt hier „Freigabe im lokalen Netzwerk“. Wenn Sie das erste Mal einen Ordner freigeben, erscheint die Meldung „Dateifreigabe ist nicht eingerichtet“. Klicken Sie auf „Freigabedienst einrichten“ und folgen Sie nun den Anweisungen auf dem Bildschirm. Wenn Sie aufgefordert werden, das Paket libpam-smbpass (siehe Punkt 2) zu installieren, nicken Sie dies per Klick auf „Installieren“ ab . Im Anschluss daran erscheint ein Dialog, in dem Sie auf „Sitzung neu starten“ klicken. Im nächsten Schritt melden Sie sich wieder mit Ihrem Benutzerkonto an.

Samba manuell installieren: Sie können den Samba-Server unter sämtlichen Linux-Systemen auch über die jeweilige Paketverwaltung einrichten. Suchen Sie hier nach „Samba“. Zumeist werden Ihnen mehrere Software-Pakete angeboten, die etwas mit Samba zu tun haben. Lesen Sie sich die Beschreibungen durch, um herauszufinden, was für den Samba-Server erforderlich ist. In der Regel genügt es – beispielsweise unter Open Suse –, das Paket „samba“ für die Installation auszuwählen. Weitere benötigte Pakete werden danach automatisch für die Installation markiert. Achten Sie darauf, dass auch das Paket „nautilus-share“ installiert wird. Ansonsten fehlt der Menüpunkt „Freigabeoptionen“ im Dateimanager.

Konfigurieren Sie Freigaben über das Yast-2-Modul „Samba- Server“. Freigaben eigener Ordner durch den Benutzer müssen Sie hier explizit erlauben.

Damit ist der Samba-Server allerdings nicht immer auch sofort aktiv. Bei Open Suse 13.2 beispielsweise müssen Sie zuerst in das zentrale Konfigurations-Tool Yast starten und daraufhin das Modul „Samba-Server“ aufrufen. Auf der Registerkarte „Start“ wählen Sie unter „Dienst starten“ die Option „Beim Systemstart“. Setzen Sie nun ein Häkchen vor „Firewall-Port öffnen“, sonst ist kein Zugriff über das Netzwerk möglich. Auf der Registerkarte „Freigaben“ setzen Sie ein Häkchen vor „Benutzern die Freigaben ihrer Verzeichnisse erlauben“.

2. Benutzerkonten und Passwörter für Samba-Freigaben

Samba verwaltet standardmäßig eine eigene Datenbank mit Benutzernamen und Kennwörtern. Diese arbeitet unabhängig von der Linux-Benutzerverwaltung. Sie müssen deshalb für jeden Benutzer, der von einem Windows-oder Linux-PC aus auf die Freigabe zugreifen möchte, ein eigenes Passwort festlegen. Dazu öffnen Sie über das Menü oder mit der Tastenkombination Strg-Alt-T ein Terminal-Fenster und starten darin folgende Befehlszeile:

sudo smbpasswd -a smbuser

smbuser ist dabei der Benutzername eines vorhandenen Linux-Kontos. Sie werden auf-gefordert, das Passwort zweimal einzugeben. Dieses kann identisch mit dem Linux-Benutzerpasswort sein oder davon abweichen. Auf allen Rechnern im Netzwerk sollten Sie immer die gleiche Kombination von Benutzernamen und Passwort verwenden. Dann werden Sie nicht nach den Anmeldedaten gefragt, wenn Sie eine Freigabe öffnen. Andernfalls geben Sie Benutzernamen und Passwort ein, wie mit dem Tool Smbpasswd festgelegt.

Probleme durch unterschiedliche Linux-und Samba-Passwörter lassen sich vermeiden, indem Sie beide Passwortdatenbanken synchronisieren. Installieren Sie – wenn noch nicht vorhanden – über die Anwendungsverwaltung (Linux Mint) oder das Software-Center (Ubuntu) das Paket „libpam-smbpass“. Der manuelle Aufruf von „smbpasswd“ ist danach nicht mehr erforderlich. Linux-und Samba-Passwörter werden synchronisiert, sobald der Benutzer sein Linux-Passwort über den Befehl passwd ändert oder sich bei Linux anmeldet.

Weitere Benutzer hinzufügen: Damit ein Benutzer Samba-Freigaben im Home-Verzeichnis einrichten kann, muss er der Gruppe „sambashare“ angehören. Der bei der Installation ertellte Benutzer ist bereits Mitglied der Gruppe. Wenn Sie weitere Benutzerkonten erstellt haben, verwenden Sie in einem Terminal-Fenster folgende Befehlszeile:

sudo adduser User sambashare

Für User setzen Sie den Namen des Benutzers ein, den Sie zur Gruppe hinzufügen möchten.

3. Globale Freigaben und Einstellungen

Linux-Mint-Admins erstellen Freigaben von beliebigen Verzeichnissen besonders komfortabel mithilfe des Tools „Samba-Server Konfiguration“.

Mit der unter Punkt 1 beschriebenen Methode geben Sie Ordner frei, die Ihnen gehören. Diese liegen in der Regel nur in Ihrem Home-Verzeichnis. Es lassen sich aber auch beliebige andere Ordner freigeben, etwa auf einer zweiten Festplatte. Dafür gibt es zwei Wege.

Möglichkeit 1:Installieren Sie unter Linux Mint oder Ubuntu zusätzlich das Paket „system-config-samba“. Damit erhalten Sie ein mit der Maus bedienbares Tool namens „Samba-Server Konfiguration“, über das Sie Freigaben einrichten und Samba konfigurieren. Nach der Installation starten Sie das Tool über das Menü und „Systemverwaltung -> Samba“. Ubuntu-Nutzer suchen über das Dash nach „samba“.

Um eine neue Freigabe hinzuzufügen, gehen Sie auf „Datei -> Share hinzufügen“. Geben Sie hinter „Verzeichnis“ den Ordner an, den Sie freigeben möchten, und hinter „Freigabename“ die Bezeichnung für die Freigabe. Über die Klickboxen bestimmen Sie, ob die Freigabe beschreibbar und/oder sichtbar sein soll. Auf der Registerkarte „Zugang“ legen Sie fest, ob die Freigabe nur für bestimmte Benutzer oder für alle erlaubt sein soll.

Über „Einstellungen -> Server-Einstellungen“ lassen sich einige Parameter der Serverkonfiguration festlegen. Hier tragen Sie beispielsweise den Namen der Arbeitsgruppe ein, zu der der Server gehören soll. Vorgegeben ist „Workgroup“. Das ist jedoch keine notwendige Angabe, denn Windows 7 oder 8 zeigen ohnehin alle Server im Netzwerk unabhängig von der Arbeitsgruppenzugehörigkeit an. Die Dateimanager unter Linux stellen die Arbeitsgruppen als Ordner dar. Es sorgt deshalb für mehr Übersicht, wenn sich alle PCs im Netzwerk in derselben Arbeitsgruppe befinden.

Möglichkeit 2: Samba verwendet als globale Konfigurationsdatei „/etc/samba/smb.conf“. Darin sind die allgemeinen Einstellungen für den Samba-Server und für globale Freigaben festgelegt. Änderungen, die Sie über das unter Möglichkeit 1 beschriebene Tool vornehmen, landen ebenfalls in der „smb.conf“. Sie können die Datei im Terminal-Fenster mithilfe der folgenden Zeile öffnen:

sudo gedit /etc/samba/smb.conf

Sie finden alle Samba-Einstellungen in der Datei „/etc/samba/ smb.conf“. Hier legen Sie bei Bedarf spezielle Zugriffsrechte fest.

Sie enthält viele auskommentierte – also nicht aktive – Beispiele und Beschreibungen für häufig genutzte Einstellungen. Entfernen Sie die Kommentarzeichen „;“ vor allen Optionen im Abschnitt „[homes]“. Alle Benutzer können dann über das Netzwerk auf ihr eigenes Home-Verzeichnis zugreifen.

Eine neue Freigabe lässt sich beispielsweise über diese vier Zeilen erstellen:

[data1] path = /mnt/data1 writeable = yes guest ok = yes

Hängen Sie die Zeilen am Ende der Datei an. In diesem Beispiel wird das Verzeichnis „/mnt/data1“ unter der Bezeichnung „data1“ freigegeben. Die Änderungen werden erst wirksam, wenn Sie die Konfigurationsdatei über

sudo service samba reload

neu einlesen lassen. Schreib-und Gastzugriff sind aus der Sicht von Samba erlaubt. Damit sich Dateien erstellen oder ändern lassen, müssen allerdings noch die erforderlichen Dateizugriffsrechte gesetzt sein. Informationen dazu finden Sie im Kasten „Zugriffsrechte: Samba und Dateisystem“.

4. Zugriff auf Freigaben unter Linux und Windows

Die Verbindung zu Netzwerkfreigaben stellen Sie unter den verschiedenen Systemen am einfachsten über den jeweiligen Dateimanager her. Linux-Benutzer gehen auf „Netzwerk“ und dann auf „Netzwerk durchsuchen“. Wählen Sie den gewünschten Server und die Freigabe aus. Wenn Sie hierzu aufgefordert werden, tippen Sie den Benutzernamen und das Kennwort ein. Sind die Anmeldeinformationen überall gleich, erfolgt die Authentifizierung automatisch. Unter Windows 7, 8 oder 10 funktioniert das entsprechend. Hier finden Sie Ihren Linux-Rechner im Explorer unter „Netzwerk“.

Gastzugang: Wenn bei Windows und Linux Konten mit identischen Namen existieren, versucht Windows immer den Log-in mit dem Benutzernamen. Bei abweichendem Passwort erscheint ein Fenster, in dem Sie die Anmeldedaten eintippen können. Verwenden Sie als Benutzernamen „guest“, das Kennwortfeld lassen Sie leer. Linux Mint und Ubuntu probieren den Benutzer „guest“ automatisch aus und ermöglichen den Zugang.

Verbindungsprobleme: Manchmal taucht ein Computer mit neu eingerichteten Freigaben nicht sofort im Dateimanager auf. Unter Windows geben Sie dann eine Adresse nach dem Muster\\Rechnername\Freigabename in die Adressleiste des Explorers ein. Unter Linux verwenden Siesmb://Rechnername/Freigabe name. Die Adressleiste blenden Sie im Dateimanager mit Strg-L ein. Wenn das nicht funktioniert, verwenden Sie anstatt des Rechnernamens die IP-Nummer.

Zugriffsrechte: Samba und Dateisystem

Die im Dateisystem gesetzten Rechte wirken auch bei Samba-Freigaben. Selbst wenn der Schreibzugriff über die Direktive „writeable = yes“ erlaubt ist, müssen Benutzer oder Gruppen die Schreibrechte auch im Dateisystem besitzen. Wenn Sie einen Ordner wie unter Punkt 3 beschrieben freigeben möchten, setzen Sie in einem Terminal-Fenster die Rechte mit den beiden Zeilen

sudo chown root:sambashare /mnt/data1 sudo chmod 775 /mnt/data1

Der Ordner „/mnt/data1“ gehört jetzt dem Benutzer „root“ und der Gruppe „sambashare“. Benutzer und Gruppe dürfen den Ordner öffnen und darin Dateien erstellen sowie löschen. Alle anderen Benutzer besitzen nur Leserechte.

Legt ein authentifizierter Benutzer Ordner oder Dateien im freigegebenen Ordner an, ist er der Eigentümer. Andere Benutzer haben nur Leserechte. Das kann unter bestimmten Umständen erwünscht sein, eignet sich aber beispielsweise nicht für die gemeinsame Arbeit an Dokumenten. Um das zu ändern, ergänzen Sie die Optionen der Freigabe aus Punkt 3 in der Datei „smb.conf“ mit den folgenden vier Zeilen:

valid users = @sambashare force group = sambashare force directory mode = 2770 create mask = 665

Ordner und Dateien gehören dann mit Lese-und Schreibzugriff immer der Gruppe sambashare, gleich welcher Benutzer sie über das Netzwerk erstellt. Gäste erhalten nur Lesezugriff.

(PC-Welt/ad)