715784

Linux und Samba: Der lange Weg zur Netzwerk-Freigabe

Unter Linux haben Sie ein neues Verzeichnis "/public" erstellt, das Sie in einem Windows-Netzwerk freigeben möchten. Sie haben unter Samba unter anderem folgende globale Einstellungen vorgenommen, damit jeder ohne Passwort darauf zugreifen kann: security = share und guest account = ftp. Außerdem habe Sie den freigegebenen Ordner "/public" mit dem Eintrag "guest ok = yes" versehen. Das Ergebnis dieser Maßnahmen: Ihre Linux-Freigabe taucht nun zwar im Windows-Netzwerk auf, bleibt allerdings auf allen angeschlossenen Rechnern mit der Fehlermeldung "Zugriff verweigert" unzugänglich. Woran das liegt, erklärt Ihnen PC-WELT.

Anforderung

Profi

Zeitaufwand

Mittel

Problem:

Unter Linux haben Sie ein neues Verzeichnis "/public" erstellt, das Sie in einem Windows-Netzwerk freigeben möchten. Sie haben unter Samba unter anderem folgende globale Einstellungen vorgenommen, damit jeder ohne Passwort darauf zugreifen kann:

security = share

guest account = ftp

Außerdem habe Sie den freigegebenen Ordner "/public" mit dem Eintrag "guest ok = yes" versehen. Das Ergebnis dieser Maßnahmen: Ihre Linux-Freigabe taucht nun zwar im Windows-Netzwerk auf, bleibt allerdings auf allen angeschlossenen Rechnern mit der Fehlermeldung "Zugriff verweigert" unzugänglich.

Lösung:

Ihre Samba-Einstellungen sollten in Ordnung sein. Vermutlich haben Sie aber nicht berücksichtigt, dass die Rechtevergabe unter Linux Vorrang hat vor den Samba-Netzeinstellungen. Prüfen Sie zunächst mit dem Befehl

ls -l /public

welche Rechte das freizugebende Verzeichnis "/public" besitzt. Sie sollten bei der Ausgabe in etwa folgende Zeile sehen. Wichtig sind in unserem Zusammenhang nur die vier Attribute am Anfang:

drwxr----- 1 root 4096 <Datum>

Das erste Attribut "d" weist "/public" als Verzeichnis (directory) aus. Die drei folgenden Attribute definieren nun die Rechte für diesen Ordner, und zwar in einer bestimmten Reihenfolge - zunächst für den Benutzer, der das Verzeichnis erstellt hat, dann für die Gruppe und zuletzt für alle Benutzer. "r" steht dabei für Lesezugriff (Read-Attribut mit Bitzahl 4), "w" für Schreibzugriff (Write-Attribut mit Bitzahl 2) und "x" für die Erlaubnis, Programme zu starten (Execute-Attribut mit Bitzahl 1).

Damit der Benutzer "ftp" - er steht in Samba als Platzhalter für alle Benutzer - auf das Verzeichnis zugreifen kann, müssen Sie die Zugriffsrechte unter Linux explizit auf alle Benutzer ausdehnen. Dazu brauchen Sie das Dienstprogramm "chmod" und die oben erwähnten Bitzahlen. Um der Gruppe "alle Benutzer" alle Rechte zuzuweisen, geben Sie als "root" folgende Befehlszeile ein:

chmod -R 777 /public

Der Schalter -R ist wichtig, er bewirkt, dass auch alle Unterverzeichnisse von "/public" mit einbezogen werden. Bei der Zahl "777" steht jede Ziffer für einen Benutzertyp (Eigentümer - das ist der Benutzer, der den Ordner "/public" angelegt hat; die Gruppe; alle Benutzer). Allen werden jeweils alle Rechte zugewiesen (Bit 1 + 2 + 4 = 7).

Die Gruppe muss mit dem Befehl "chown" definiert werden - Näheres erfahren Sie mit dem Befehl "man chown". Wollen Sie etwa "allen Benutzern" nur Leserechte zugestehen, verwenden Sie den Befehl "chmod -R 774 /public".

0 Kommentare zu diesem Artikel
715784