Wie kann ich Samba-Freigaben so einrichten, dass nur bestimmte Benutzer darauf zugreifen können?


31

Ich habe ein RAID10-Array auf Ubuntu Server 12.04 montiert. Ich habe einige Ordner innerhalb des Einhängepunkts erstellt und möchte die folgenden Funktionen.

Es werden 4 Benutzer sein, von denen 3 Windows-Benutzer sind: "Eins", "Zwei" und "Drei". 'four' ist ein Media-Streamer, der nur auf die MEDIA-Freigabe zugreifen muss. Eins Zwei und Drei müssen vollen Zugriff auf die Medienfreigabe und ihre eigenen persönlichen Freigaben (für Dokumente) haben, auf die nur sie zugreifen können.

Derzeit funktioniert User Four einwandfrei (Hat vollen Zugriff auf den MEDIA-Ordner und kann nicht auf Ordner anderer Benutzer zugreifen). Das Problem ist, dass ich, wenn ich als anderer Benutzer angemeldet bin, auf keine der Freigaben zugreifen kann. (Es wurde versucht, gültige Benutzer = und chmod zu verwenden, um Berechtigungen ohne Erfolg hinzuzufügen.)

TL; DR: Ich muss wissen, wie man Samba richtig konfiguriert, um den Zugriff auf bestimmte Freigaben für bestimmte Benutzer einzuschränken und allen Benutzern den Zugriff auf einen gemeinsamen Ordner zu ermöglichen (alle Dateien auf einem RAID10-Mount).

Antworten:


45

Jeder Samba-Benutzer muss ebenfalls einen normalen Linux-Account haben.

  1. Stellen Sie sicher, dass jeder Benutzer auf den gemeinsamen Medienordner auf der Unix-Seite zugreifen kann (ohne Samba). alternativ können Sie einstellen , force userinsmb.conf
  2. Stellen Sie sicher, dass für jeden Benutzer ein Samba-Kennwort festgelegt ist. Sie können es mit einstellensudo smbpasswd -a your_user
  3. Schauen Sie /etc/samba/smb.conf: Überprüfen Sie, ob die Zeile security = userim [GLOBAL]Abschnitt festgelegt ist
  4. Legen Sie Ihre Freigaben in fest /etc/samba/smb.conf, siehe Beispiel

Beispiel Aktien:

[allaccess]
    path = /media/common
    read only = no
    writeable = yes
    browseable = yes
    valid users = one, two, three, four
    create mask = 0644
    directory mask = 0755
    ; if you set this, all files get written as this user
    force user = one

Dies wird erreichbar sein über \\yourserver\allaccess

Eine einzelne Benutzerfreigabe:

[special]
    path = /home/two/onlytwo
    read only = no
    writeable = yes
    browseable = yes
    valid users = one
    create mask = 0640
    directory mask = 0750

Starten Sie den Samba-Server nach den Änderungen neu mit:

sudo service smbd restart

2
Sie, mein Herr, sind ein Gott, die Masken und Gewaltanwender waren das, was ich die ganze Zeit brauchte, aber nicht verstanden habe.
Liam

4
Ich denke "read only" und "writable" sind so genannte "inverted synonym". Sie müssen nicht beide festlegen.
Mike Diehn

1
Genial! Ich hatte alles getan, außer Schritt 2. Ich habe das noch nie bei der Einrichtung von Samba-Freigaben gesehen. Vielen Dank!!
PatrickSteele

Geben Sie den Freigabenamen nicht als temporär an, wenn Sie möchten, dass er beschreibbar ist.
SergA
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.