mount cifs share no terminal falha (usando senha ou kerberos krb5 ticket)

0

HOST: Kubuntu 16.04.3 LTS

LOCALHOST: Kubuntu 17.10

Eu não consigo mais montar um compartilhamento cifs em um terminal:

mount -t cifs -o user=USER,domain=DOMAIN //HOST/share /mnt/tmp
Password for USER@//HOST/share:  *************
mount error(5): Input/output error
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

No syslog, encontrei as mensagens de erro ao tentar:

Status code returned 0xc000005e STATUS_NO_LOGON_SERVERS
CIFS VFS: Send error in SessSetup = -5
CIFS VFS: cifs_mount failed w/return code = -5

Tenho certeza de que este é um compartilhamento de trabalho com permissões suficientes para esse usuário. Eu posso começar dolphin e abrir smb: // HOST / share sem nenhum problema!

Meu sistema está em um ambiente Active Directory ( realm , sssd ) e também tentei montar usando um tíquete kerberos mas falhei:

mount -t cifs -o user=USER,domain=DOMAIN,cruid=USER,sec=krb5 //HOST/Share /mnt/tmp
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

No syslog, encontrei essas mensagens de erro ao tentar:

CIFS VFS: Send error in SessSetup = -2
CIFS VFS: cifs_mount failed w/return code = -2

O SSO via kerberos está funcionando! Usando smb: // HOST / share no dolphin eu posso abrir o compartilhamento sem uma senha.

Também posso fazer login no compartilhamento usando

smbclient -U USER //HOST/share

e eu posso listar arquivos usando 'ls'.

Eu encontrei alguém com o mesmo erro na internet, mas ele poderia resolvê-lo desinstalando o winbind. Infelizmente eu não tenho winbind instalado em ambas as máquinas e isso não é uma correção para mim. Alguém precisava adicionar o nome do grupo de trabalho, o que também não funciona para mim. Também encontrei para usar uma versão smb diferente para montagem. Infelizmente, ele sempre falha com "cifs_mount faild com código de retorno = -5" ( vers = 1.0, vers = 2.0, versão = 2.1, vers = 3.0, vers = 3.1.1 ).

Eu poderia reproduzir esse erro entre dois clientes com LTS ou com a versão mais recente 16.04 < - > 16.04 e .

Interessante: a montagem está funcionando se eu montar um compartilhamento do Windows e não um compartilhamento de samba no linux!

Qual é o motivo do erro cifs_mount -5 ?

Obrigado!

    
por Alexander 24.11.2017 / 10:42

1 resposta

1

Eu recomendo que você use fstab para montagem.

Tente verificar os registros para solucionar as causas do problema. Tente este comando para exibir a lista de arquivos que podem exibir os registros de montagem:

grep -e mount -e ext4 -lR /var/log 2> /dev/null

Para mim, os registros de montagem estavam em /var/log/syslog , pode ser diferente para você.

Agora você precisa de duas guias de terminal abertas, digite o comando em uma guia: sudo tail -f /var/log/syslog

E na segunda guia, tente montar o sistema com o seguinte comando:

mount -t cifs -o user=USER,domain=DOMAIN,cruid=USER,sec=krb5 //HOST/Share /mnt/tmp

Se você voltar para sua primeira guia, poderá ver alguns erros de registro. Para mim os erros foram (para você pode ser diferente):

   kernel: No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
   kernel: CIFS VFS: protocol revalidation - security settings mismatch
   kernel: CIFS VFS: session ffff90a6a2959000 has no tcon available for a dfs referral request
   kernel: CIFS VFS: cifs_mount failed w/return code = -5

Dependendo dos seus registros de erros, você pode conseguir adicionar vers=1.0 ao seu comando de montagem e isso pode funcionar, mas é a versão menos segura do SMB. Caso contrário, você poderia treinar o que a solução é baseada no erro que você recebe.

O que você também pode tentar é configurar o servidor Samba dentro de /etc/samba/smb.conf similar a este (funciona para mim):

[username]
   comment = Username's developer directory
   read only = no
   locking = no
   path = /var/www/username
   guest ok = no
   writeable = yes

Em seguida, no cliente, adicione a seguinte linha a /etc/fstab

//server/username /mountpoint cifs vers=1.0,username=username,iocharset=utf8,uid=your_profile_uid_on_the_server 0 0

Use sudo mount /mountpint Veja como isso acontece, espero que essa informação seja útil para você.

    
por Ahmad 26.11.2017 / 21:32