So stellen Sie eine SMB-Freigabe bereit, auf die jeder unter Mac OS X El Capitan zugreifen kann

10

Wie kann ich eine SMB-Netzwerkfreigabe bereitstellen, auf die jeder zugreifen kann? Folgendes habe ich versucht:

Befehl mount verwenden

me$ sudo mkdir /Multimedia
me$ sudo chmod 777 /Multimedia
me$ sudo mount -t smbfs -o nosuid,-d=777 //user:password@qnap/Multimedia /Multimedia/

dann

me$ cd /Multimedia      
-bash: cd: /Multimedia: Permission denied

Erlaubnis auf / Multimedia nach der Montage

drwxrwxrwx   1 root  wheel  16384 Nov  8 11:04 Multimedia

doch das funktioniert

root# cd /Multimedia

tl; dr nur root kann Zugang montiert Teilen

Automount verwenden

im /etc/auto_master

#
# Automounter master map
#
+auto_master            # Use directory service
/net                    -hosts          -nobrowse,hidefromfinder,nosuid
/home                   auto_home       -nobrowse,hidefromfinder
/Network/Servers        -fstab
/-                      -static
### SMB shares
/-                      /etc/automounts/smb -nosuid,noowners

im /etc/automounts/smb

/Multimedia        -fstype=smbfs,soft,noowners,noatime,nosuid ://user:password@qnap/Multimedia

dann

me$ sudo automount -vc
automount: /net updated
automount: /home updated
automount: /Multimedia mounted
automount: no unmount

nachdem

me$ cd /Multimedia
me$ ls -ld /Multimedia/
drwx------  1 me  staff  16384 Nov  8 11:04 /Multimedia/

Funktioniert! Leider haben andere Benutzer keinen Zugriff

otheruser$ cd /Multimedia 
-bash: cd: /Multimedia: Permission denied

Doch wenn ich

me$ umount /Multimedia

und dann

otheruser$ cd /Multimedia
otheruser$ ls -ld /Multimedia 
drwx------  2 otheruser  staff  1 Nov  8 15:17 /Multimedia

Funktioniert! Aber

me$ cd /Multimedia
-bash: cd: /Multimedia: Permission denied

und doch

root# cd /Multimedia

Funktioniert!

tl; dr nur der Benutzer , dass verursacht auto und Root - Zugriff auf die Freigabe haben

Rytis I.
quelle
Überprüfte Ihre erste Methode und fand kein Problem. Ich konnte die Freigabe mit root, mir und anderen Benutzern bereitstellen und darauf zugreifen. Nach dem Mounten unabhängig von noowners oder nosuidFlags habe ich immer den aktuellen Benutzer als Eigentümer und staffals Gruppe auf einem Mount-Punkt. (btw haben Sie einen Tippfehler bekommen nownessin /etc/auto_master)
techraf
1
@ Techraf guter Fang! Vielen Dank für die Überprüfung. Es ist sehr schlimm, dass Sie ein anderes Ergebnis erzielt haben. Könnte die Erlaubnis der Freigabe selbst etwas damit zu tun haben? Ich werde versuchen, mich heute Abend damit zu beschäftigen
Rytis I
1
Hallo @Rytis l, ich habe das gleiche Problem - hast du das herausgefunden?
HankCa
@HankCa nein, habe noch dieses Problem :(
Rytis I
Ich frage mich, ob Sie einen Weg gefunden haben, um dieses Problem zu lösen.
The Lazy Log

Antworten:

2

Machen Sie die SMB-Freigabe als Gast bereit, dann wird sie mit den richtigen Berechtigungen bereitgestellt.

Ich hatte genau das gleiche Problem und das funktioniert bei mir in High Sierra:

/ etc / auto_nfs:

Public -fstype=smbfs,soft,noowners,noatime,nosuid smb://[email protected]/Public

Und nach dem Mounten hat es drwxrwxrwx-Rechte und ich kann es von verschiedenen Benutzern aus durchsuchen.

Tommi Uimonen
quelle
1

Es scheint, dass MacOS es Benutzern nicht erlaubt, SMB-Netzwerklaufwerke mit benutzerdefinierten UID / GID-Bits zu mounten. Außerdem kann nur ein Benutzer, der ein Laufwerk bereitstellt, auf das Laufwerk zugreifen. Ich weiß nicht, ob Apple sich um die Sicherheit kümmert oder ob es sich nur um einen Fehler handelt. Aber leider ist es seit Jahren. Ich habe mehrere Fälle auf einem gemeinsam genutzten Laufwerk von macOS zu macOS getestet:

    known-user@a-server:~% sudo ls -l
    -rw-r-----  1 known-user    known-group    0 Jun 13 10:50 a-file
    -rw-r-----  1 known-user    unknown-group  0 Jun 13 10:50 b-file
    -rw-r-----  1 unknown-user  known-group    0 Jun 13 10:50 c-file
    -rw-r-----  1 unknown-user  unknown-group  0 Jun 13 10:50 b-file

    who-mount@my-desktop:~% sudo ls -l
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 a-file
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 b-file
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 c-file
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 d-file

    who-mount@my-desktop:~% cat a-file
    who-mount@my-desktop:~% echo hello > a-file

    who-mount@my-desktop:~% cat b-file
    who-mount@my-desktop:~% echo hello > b-file

    who-mount@my-desktop:~% cat c-file
    who-mount@my-desktop:~% echo hello > c-file
    zsh: permission denied: c-file

    who-mount@my-desktop:~% cat d-file
    cat: d-file: Permission denied
    who-mount@my-desktop:~% echo hello > d-file
    zsh: permission denied: d-file
  1. Die UID / GID von freigegebenen Dateien / Ordnern ist immer who-mount:whose-group
  2. Die Berechtigungsbits sind auf dem gemeinsam genutzten Server identisch a-server
  3. Der Server behandelt who-mountals known-user:known-group (hier known-groupist die Standardgruppe von know-user)

Ein Vorschlag ist, Fuse für macOS zu verwenden . Es bietet benutzerdefinierte Optionen für UID / GID und Berechtigungsbits mit -oFlag. check out bindfs das FUSE-Laufwerk und die Berechtigung ändert. Mit dem bindfs können Sie ein mit Berechtigungen abgerufenes SMB-Laufwerk bereitstellen, nachdem Sie das SMB-Laufwerk auf die von Ihnen erwähnte Weise bereitgestellt haben.

Aber ich denke, das Beste ist, dass jeder Benutzer eigene freigegebene Laufwerke hat.

Daehyun Sie
quelle
-1

Ich habe eine Frage, die eine Antwort sein könnte ...
Warum verwenden Sie "Freigabe" nicht in den Systemeinstellungen?
Anschließend wählen Sie Dateifreigabe, richten Ordner und Benutzer ein und unter der Schaltfläche "Optionen" finden Sie SMB.
Das sollte den Trick machen und viel einfacher als mit der CLI.

Marc Augier
quelle
Ich bin mir nicht sicher, ob dies meinen Anwendungsfall abdeckt. Die Idee ist, dass die Freigabe beim Start des Betriebssystems für jeden Benutzer bereitgestellt werden muss. Aber ich werde es ausprobieren und berichten
Rytis I
OK, also "Teilen" teilt einen Ordner von Mac für andere. Was ich versuche zu erreichen, ist das Gegenteil. Ich versuche, eine vorhandene Netzwerkfreigabe auf meinem Mac bereitzustellen.
Rytis I
Also gut, dann möchten Sie einen Ordner unter Linux freigeben? Qorry, ich habe in die falsche Richtung geschaut ^ _ ^ Das habe ich auch auf einem Debian-System gemacht. Ich bin vielleicht zu faul, aber anstelle von CLI habe ich auch das Gnome-Einstellungsfeld verwendet, um die Freigabe für einen Ordner zu aktivieren.
Marc Augier