Verzeichnisse für Windowsrechner freigeben

    Bei der Installation haben wir nicht nur den SSH- sondern auch einen Samba-Server mit installieren lassen. Mit Samba können u.a. Verzeichnisse für die Windowswelt freigegeben werden. Samba hat eine eigene Benutzerverwaltung. Damit sich ein Nutzer von seinem Windowsrechner aus mit einem freigegebenen Verzeichnis auf unserem Server verbinden kann, muß er zunächst in Samba bekannt gemacht werden:

    sudo smbpasswd -a benutzername

    Anschließend werden wir wieder zur Eingabe des Kennworts aufgefordert. Wenn wir unseren Samba-Server konfigurieren, werden wir eine automatische Synchronisation von UNIX- und Samba-Kennwort konfigurieren. Der obige Befehl muß also nur einmal eingegeben werden.

    Zunächst sorgen wir einmal für etwas mehr Sicherheit. Es geht uns darum, einem User Zugriff auf Samba-Freigaben zu gewähren. Er braucht aber im Allgemeinen keinen direkten Zugriff auf den Server über SSH oder gar einer direkten Anmeldung am 'echten' Server. Wie können wir das verhindern?

    Jeder User bekommt eine Standard-Eingabeshell (Konsole) zugewiesen, meist ist das bash (/bin/bash). Wenn wir dem User die Shell ins Nirwana verbiegen, wird der Zugriff verweigert. Das machen wir mit dem Befehl

    sudo chsh benutzername

    und geben nach Aufforderung die neue, nicht existente Login Shell ein:

    Changing the login shell for benutzername

    Enter the new value, or press ENTER for the default

    Login Shell [/bin/bash]: /dev/null

    Ab sofort wird jeder Versuch, sich am Server einzuloggen, mit einem

    Cannot execute /dev/null: Permission denied

    abgelehnt.

    Nachdem das erledigt ist, kümmern wir uns um die Samba-Konfiguration. Wie bereits erwähnt, werden alle Konfigurationen auf einem Linuxrechner in Dateien vorgenommen. Für Samba ist das /etc/samba/smb.conf. Es existiert bereits eine Beispieldatei. Die benutzen wir aber nicht, sondern benennen sie um:

    sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.default

    So können wir bei Bedarf immer in der smb.conf.default nachsehen. Jetzt erstellen wir eine neue smb.conf:

    sudo nano /etc/samba/smb.conf

    Die Datei ist in verschiedene Abschnitte unterteilt, die durch eckige Klammern gekennzeichnet werden. Der erste Abschnitt [global] bestimmt die Servereinstellungen:

    [global]

    workgroup = WORKGROUP

    server string = Sambaserver auf %h

    wins support = yes

    os level = 255

    local master = yes

    unix password sync = yes

    passwd program = /usr/bin/passwd %u

    Mit den ersten Zeilen weisen wir den Rechner einer Arbeitsgruppe zu. Den Eintrag müßt Ihr natürlich an Eure Gegebenheiten anpassen. Der Wins-Support sorgt dafür, daß sich der Server um die Auflösung der IP-Adressen zu den Hostnamen (Rechnernamen) kümmert. Die letzten beiden Zeilen sorgen für die erwähnte Synchronisation der Unix- und Samba-Kennwörter.

    Jetzt legen wir uns eine erste Freigabe an. Zunächst erstellen wir ein Verzeichnis, das freigegeben werden soll, im Ordner /home:

    sudo mkdir /home/Allgemein

    sudo chgrp users /home/Allgemein

    sudo chmod 2770 /home/Allgemein

    Der erste Befehl legt das Verzeichnis an. Der Zweite ändert die Gruppe,zu der das Verzeichnis gehört, auf 'users'. Der dritte Befehl schließlich setzt die Berechtigungen auf das Verzeichnis, so daß

    1. Nur der Eigentümer und die Gruppe zugreifen können
    2. Neue Verzeichnisse und Dateien immer der Gruppe 'users' gehören.

    Mehr über Unix-Berechtigungen findet Ihr im Wiki.

    Jetzt erstellen wir die Freigabe in der smb.conf:

    [Allgemein]

    comment = Allgemeine Freigabe fuer Alle

    path = /home/Allgemein

    writeable = yes

    valid users = @users

    force directory mode = 660

    force create mode = 660

    Die Zeile 'comment' kan auch weggelassen werden, es handelt sich lediglich um eine Beschreibung des Verzeichnsses. Die restlichen Zeilen legen das Verzeichnis und die Berechtigungen fest. Das Verzeichnis ist beschreibbar, die Gruppe 'users' hat Zugriff und neu angelegte Dateien sind für alle Mitglieder der Gruppe les- und beschreibbar.

    Wir speichern die smb.conf ab. Mit dem Befehl: testparm -v können wir prüfen, ob uns evtl. Tippfehler unterlaufen sind. Ist das Ergebnis ok, starten wir den Samba-Server neu:

    sudo restart smbd

    Jetzt können wir versuchen, mit einem Rechner auf diese Freigabe zuzugreifen. Die Freigabe lautet:

    \\<SERVERNAME>\Allgemein oder

    \\<IP-des-Servers>\Allgemein

    Als User müßt Ihr den gerade angelegten Samba-User und das zugehörige Kennwort angeben.

    Achtung, böse Falle: Achtet bei den Freigaben darauf, in den Kommentaren (comment =) keine Umlaute zu verwenden, sonst zeigt Euch der Server seine Freigaben nicht an. Wenn in der Netzwerkübersicht auf den Server geklickt oder im Windows-Explorer \\SERVERNAME eingegeben wird, kommt Fehler 1745:

    "Die Prozeduranzahl liegt außerhalb des erlaubten Bereichs".

    Hab mich fast dusselig gesucht, bis ich das gefunden hatte.

    Kommentar schreiben

    Sicherheitscode
    Aktualisieren

    © 2018 Exilschwaelmer. All Rights Reserved. Designed By JoomShaper