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

10

Como 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

ainda isso funciona

root# cd /Multimedia

tl; dr somente root pode acessar o compartilhamento montado

Usando automount

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

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

Trabalho! 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

Trabalho! Mas

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

e ainda

root# cd /Multimedia

Trabalho!

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

Rytis I
fonte
Verificou seu primeiro método e não encontrou nenhum problema. Eu poderia montar e acessar o compartilhamento com root, eu e outro usuário. Depois de montar independentemente noowners ou nosuidsinalizadores, sempre recebi o usuário atual como proprietário e staffcomo grupo em um ponto de montagem. (btw você tem um erro de digitação nownessem /etc/auto_master)
techraf
1
@techraf boa captura! Obrigado por confirmar, é muito provável que você tenha um resultado diferente. A permissão do compartilhamento em si poderia ter algo a ver com isso? Vou tentar mexer com isso hoje à noite
Rytis I
1
Oi @ Rytis l, tenho o mesmo problema - você resolveu isso?
HankCa
@HankCa não, ainda tenho esse problema :(
Rytis I
Gostaria de saber se você descobriu uma maneira de resolver esse problema?
The Lazy Log

Respostas:

2

Torne o compartilhamento SMB montável como convidado e, em seguida, ele será montado com as 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

E após a montagem, ele terá direitos drwxrwxrwx e eu posso navegar por diferentes usuários.

Tommi Uimonen
fonte
1

Parece que o macOS não permite que os usuários montem unidades de rede SMB com bits uid / gid personalizados. E apenas permite que um usuário que monta uma unidade acesse a unidade. Não sei se a Apple se preocupa com a segurança ou se é apenas um bug. Mas, infelizmente, é há anos. Eu testei vários casos em uma unidade compartilhada de 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 de arquivos / pastas compartilhados é 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-mountcomo known-user:known-group (aqui known-groupestá o grupo padrão de know-user)

Uma sugestão é usar o Fuse para macOS . Ele fornece opções personalizadas de uid / gid e bits de permissão com -oflag; confira bindfs que monta a unidade FUSE e altera a permissão. Com os bindfs, você pode montar a unidade smb buscada por permissão depois de montá-la da maneira mencionada.

Mas, acho que o melhor é que cada usuário possui unidades compartilhadas.

Daehyun You
fonte
-1

Tenho uma pergunta que pode ser uma resposta ...
Por que você não usa "Compartilhamento" nas preferências do sistema?
Você seleciona Compartilhamento de arquivos, configura pastas e usuários e, no botão "opções", encontra o SMB.
Isso deve fazer o truque e muito mais facilmente do que com a CLI.

Marc Augier
fonte
Não tenho certeza se isso cobre meu caso de uso. A idéia é que o compartilhamento precise ser montado na inicialização do sistema operacional para cada usuário. Mas eu vou experimentá-lo e informar
Rytis I
OK, então "Compartilhar" compartilha uma pasta do mac para outras pessoas. O que estou tentando é conseguir é o oposto. Estou tentando montar um compartilhamento de rede existente no meu mac.
Rytis I
Tudo bem, então você quer compartilhar uma pasta do Linux? Não obstante, eu estava procurando a direção errada ^ _ ^ Eu fiz isso também no sistema Debian. Eu posso ser muito preguiçoso, mas em vez da CLI, usei também o painel de preferências do Gnome para ativar o compartilhamento em uma pasta.
precisa