Como montar o compartilhamento SMB que pode ser acessado por qualquer pessoa no Mac OS X El Capitan

8

Como posso montar um compartilhamento de rede SMB que possa ser acessado por qualquer pessoa? Aqui está o que eu tentei:

Usando o 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/

então

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

permissão em / Multimídia após a montagem

drwxrwxrwx   1 root  wheel  16384 Nov  8 11:04 Multimedia

mas isso funciona

root# cd /Multimedia

tl; dr somente o root pode acessar o compartilhamento montado

Usando o automount

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

em /etc/automounts/smb

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

então

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

depois disso

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

Funciona! Mas infelizmente outros usuários não têm acesso

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

No entanto, se eu

me$ umount /Multimedia

e depois

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

Funciona! Mas

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

e ainda

root# cd /Multimedia

Funciona!

tl; dr apenas o usuário que causou automount e root tem acesso ao compartilhamento

    
por Rytis I 08.11.2015 / 15:26

3 respostas

3

Torne o compartilhamento SMB montável como convidado e, em seguida, ele será montado com permissões corretas.

Eu tive exatamente o mesmo problema e isso funciona para mim em High Sierra:

/ etc / auto_nfs:

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

Depois do mount, ele terá os direitos drwxrwxrwx e eu poderei navegar por diferentes usuários.

    
por 05.10.2017 / 14:29
0

Eu tenho uma pergunta que poderia ser uma resposta ...
Por que você não usa "Compartilhamento" nas preferências do sistema?
Em seguida, selecione Compartilhamento de Arquivos, configure as pastas e os usuários e, no botão "opções", você encontrará o SMB.
Isso deve fazer o truque e muito mais fácil do que com o CLI.

    
por 31.05.2017 / 22:58
0

Parece que o macOS não permite que os usuários montem unidades de rede SMB com bits personalizados de uid / gid. E só permite que um usuário monte uma unidade para acessar a unidade. Eu não sei se a Apple se importa sobre segurança ou é apenas um bug. Mas infelizmente, é por anos. Eu testei vários casos em uma unidade compartilhada macOS-para-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. O uid / gid dos arquivos / pastas compartilhados são sempre who-mount:whose-group
  2. Os bits de permissão são os mesmos no servidor compartilhado a-server
  3. O servidor trata who-mount como known-user:known-group (aqui known-group é o grupo padrão de know-user )

Uma sugestão é usar o Fusível para macOS . Fornece opções personalizadas de uid / gid e de permissão com -o flag; confira os bindfs que montam o FUSE dirigir e altera a permissão. Com os bindfs, você pode montar drive smb permissão-buscado após a montagem da unidade smb no caminho você mencionou.

Mas, na minha opinião, o melhor é que cada usuário possui unidades compartilhadas próprias.

    
por 10.06.2018 / 10:25