cifs, smb - Não é possível montar (permissão negada) ou navegar pela pasta compartilhada

5

Eu recentemente encontrei esse problema. Eu costumo navegar através de uma pasta compartilhada da rede local a partir de uma máquina Linux via SMB (ou seja, a partir do gerenciador de arquivos usando smb:). Agora, sempre que tento acessar o atalho ou digitar a credencial novamente, continuo recebendo a janela de diálogo solicitando usuário, domínio e senha.

Então, tentei montar o local manualmente usando o cisf-utils:

sudo mount -t cifs //fileshare1/docs1/user/My\ Documents/shared/Francesco/ /home/frank/used_shared/ -o username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000

Eu recebo mount error(13): Permission denied .

Tenho certeza absoluta de que meu usuário tem permissão nessa pasta, pois posso acessá-lo em uma máquina com Windows.

Além disso, se eu tentar montar minha pasta pessoal nesse local por meio de:

sudo mount -t cifs //fileshare1/docs5/francesco.azzarello/ /home/frank/mnt_folder -o username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000

Eu posso acessá-lo sem problemas.

Para referência eu estou usando o kernel 4.2.0-36-genérico e minha versão mount.cifs é 6.4

Alguma ideia de como fazer um dos dois métodos funcionar?

Atualize Respondendo a resposta do ponsfrilus

número 1: a opção detalhada retorna:

_mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\fileshare1\docs1,uid=1000,gid=1000,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

O número 2 é basicamente a mesma coisa:

_ mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\fileshare1\docs1,iocharset=utf8,file_mode=0777,dir_mode=0777,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

E nada mudou com o vers = 2.1:

_mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\fileshare1\docs1,vers=2.1,iocharset=utf8,file_mode=0777,dir_mode=0777,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

Quanto ao número 4, posso montar docs1 sem problemas, mas posso navegar até chegar à pasta compartilhada no usuário.

    
por Frankmtl 04.05.2016 / 13:38

5 respostas

4

Acho que você tem o tipo de segurança incorreto para o servidor, o erro 13 significa que o servidor não está permitindo que você entre.

Você precisará selecionar o modo de segurança correto em seu comando mount e adicionar uma opção sec por -o da seguinte forma:

sec=
   Security mode. Allowed values are:
   ·   none - attempt to connection as a null user (no name)
   ·   krb5 - Use Kerberos version 5 authentication
   ·   krb5i - Use Kerberos authentication and forcibly enable packet 
       signing
   ·   ntlm - Use NTLM password hashing
   ·   ntlmi - Use NTLM password hashing and force packet signing
   ·   ntlmv2 - Use NTLMv2 password hashing
   ·   ntlmv2i - Use NTLMv2 password hashing and force packet signing
   ·   ntlmssp - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message
   ·   ntlmsspi - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message, and force packet signing
    
por Amias 13.05.2016 / 12:55
3
  1. Tente adicionar a opção "-v" para obter uma saída detalhada:

    sudo mount -v -t cifs //fileshare1/docs1/user/My\ 
       Documents/shared/Francesco/ /home/frank/mnt_folder -o \
       username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000
    
  2. Teste com essas opções para o comando mount

    iocharset = utf8, rw, file_mode = 0777, dir_mode = 0777 :

    sudo mount -v -t cifs //fileshare1/docs1/user/My\ 
       Documents/shared/Francesco/ /home/frank/mnt_folder -o 
       username=my_user,password=my_pass,domain=my_domain,\
       iocharset=utf8,rw,file_mode=0777,dir_mode=0777
    
  3. Teste especificando a opção da versão SMB (vers = 2.1), veja o wiki do samba . A partir da página de manual do mount.cifs:

      

    vers =
                 Versão do protocolo SMB. Os valores permitidos são:

         
    • 1.0 - O protocolo clássico CIFS / SMBv1. Este é o padrão.

    •   
    • 2.0 - O protocolo SMBv2.002. Isso foi introduzido inicialmente no Windows Vista Service Pack 1 e              Windows Server 2008. Observe que a versão inicial do Windows Vista falou um pouco              dialeto diferente (2.000) que não é suportado.

    •   
    • 2.1 - O protocolo SMBv2.1 que foi introduzido no Microsoft Windows 7 e Windows Server 2008R2.

    •   
    • 3.0 - O protocolo SMBv3.0 que foi introduzido no Microsoft Windows 8 e no Windows Server 2012.

    •   
  4. Por fim, tente montar apenas o primeiro compartilhamento:

    sudo mount -v -t cifs //fileshare1/docs1/ /home/frank/mnt_folder \
       -o username=my_user,password=my_pass,domain=my_domain,\
       iocharset=utf8,rw,file_mode=0777,dir_mode=0777
    

Qualquer saída detalhada que você possa compartilhar pode ajudar.

    
por ponsfrilus 12.05.2016 / 01:04
2

Tenho certeza que me deparei com esse mesmo problema hoje no Ubuntu 16.10 Eu tentei todas as sugestões neste segmento várias vezes, eu poderia montar o mesmo compartilhamento usando o Windows Server 2016 e eu poderia navegar usando smbclient (% código%). Eu até tentei um arquivo de credenciais externas.

Acabei encontrando uma correção - embora eu tenha criado um usuário local para o compartilhamento na caixa do Windows, ele também foi associado a um domínio. Basicamente, definindo o domínio para ser a máquina local smbclient -U brainstrust //WINBOX01/shared corrigiu meu problema instantaneamente, deixando um comentário aqui na esperança de que seja útil para alguém lá fora.

O comando mínimo completo que usei foi:

sudo mount.cifs -v //WINBOX01/shared /home/geoff/winbox01  --verbose -o user=brainstrust,password=topsecret,domain=WINBOX01
    
por Geoff Williams 16.03.2017 / 07:51
0

Para este problema ao usar o cifs maior que 6.0: nova versão do cifs usa a variável de domínio, então o arquivo creadentials se parece com:

username=<your username>
password=<your password>
domain=<your domain>
    
por Do Manh Tien 23.03.2018 / 03:32
0

A adição da opção sec=ntlm ao comando mount resolveu meu problema.

por exemplo:

sudo mount -t cifs -o username=administrator,password=123456,sec=ntlm //ip/eeshare /mnt/eeshare/
    
por brike 22.05.2018 / 02:28