Come montare la condivisione SMB a cui chiunque può accedere su Mac OS X El Capitan


10

Come posso montare una condivisione di rete SMB alla quale chiunque può accedere? Ecco cosa ho provato:

Usando il comando mount

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

poi

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

permesso su / Multimedia dopo il montaggio

drwxrwxrwx   1 root  wheel  16384 Nov  8 11:04 Multimedia

eppure funziona

root# cd /Multimedia

tl; dr solo root può accedere alla condivisione montata

Utilizzo dell'automount

in /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

in /etc/automounts/smb

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

poi

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

dopo di che

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

Lavori! Ma sfortunatamente altri utenti non hanno accesso

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

Eppure se io

me$ umount /Multimedia

e poi

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

Lavori! Ma

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

e ancora

root# cd /Multimedia

Lavori!

tl; dr solo l'utente che ha causato automount e root ha accesso alla condivisione


Hai verificato il tuo primo metodo e non ho riscontrato alcun problema. Potrei montare e accedere alla condivisione con root, io e altri utenti. Dopo il montaggio, indipendentemente da noowners o nosuidflag, ho sempre ottenuto l'utente corrente come proprietario e staffcome gruppo su un punto di montaggio. (btw hai un errore di battitura nownessin /etc/auto_master)
techraf

1
@techraf buona cattura! Grazie per la verifica, è molto strano che tu abbia ottenuto un risultato diverso. L'autorizzazione della condivisione stessa potrebbe avere qualcosa a che fare con essa? Cercherò di rovinarci stanotte
Rytis I

1
Ciao @Rytis, ho lo stesso problema - hai risolto il problema?
HankCa,

@HankCa no, ho ancora questo problema :(
Rytis I,

Mi chiedo se hai trovato un modo per risolvere questo problema?
The Lazy Log,

Risposte:


2

Rendi montabile la condivisione SMB come ospite, quindi verrà montata con le giuste autorizzazioni.

Ho avuto lo stesso identico problema e questo funziona per me in High Sierra:

/ etc / auto_nfs:

Public -fstype=smbfs,soft,noowners,noatime,nosuid smb://guest@192.168.1.1/Public

E dopo il mount, avrà i diritti drwxrwxrwx e sono in grado di sfogliarlo da diversi utenti.


1

Sembra che macOS non consenta agli utenti di montare unità di rete SMB con bit uid / gid personalizzati. E consente solo a un utente che monta un'unità di accedere all'unità. Non so se Apple si preoccupi della sicurezza o sia solo un bug. Ma sfortunatamente, è da anni. Ho testato diversi casi su un'unità condivisa macOS-to-macOS:

    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. L'uid / gid di file / cartelle condivisi sono sempre who-mount:whose-group
  2. I bit di autorizzazione sono gli stessi sul server condiviso a-server
  3. Il server considera who-mountcome known-user:known-group (qui known-groupè il gruppo predefinito di know-user)

Un suggerimento è utilizzare Fuse per macOS . Fornisce opzioni personalizzate di bit uid / gid e di permessi con -oflag; controlla i bindfs che monta il drive FUSE e modifica i permessi. Con i bindfs, è possibile montare l'unità smb recuperata dai permessi dopo aver montato l'unità smb nel modo indicato.

Ma, penso, il meglio è che ogni utente ha le proprie unità condivise.


-1

Ho una domanda che potrebbe essere una risposta ...
Perché non usi "Condivisione" nelle preferenze di Sistema?
Seleziona quindi Condivisione file, imposta cartelle e utenti e sotto il pulsante "Opzioni" troverai SMB.
Questo dovrebbe fare il trucco e molto più facilmente rispetto alla CLI.


Non sono sicuro se questo copre il mio caso d'uso. L'idea è che la condivisione deve essere montata all'avvio del sistema operativo per ogni utente. Ma lo proverò e
riferirò

OK, quindi "Condivisione" condivide una cartella dal mac ad altri. Quello che sto provando è raggiungere il contrario. Sto provando a montare una condivisione di rete esistente sul mio mac.
Rytis I

Va bene, allora vuoi condividere una cartella da Linux? Qorry, stavo cercando nella direzione sbagliata ^ _ ^ L'ho fatto anche su un sistema Debian. Forse sono troppo pigro ma al posto della CLI ho usato anche il pannello delle preferenze di Gnome per attivare la condivisione su una cartella.
Marc Augier
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.