erreur de montage 13 = permission refusée

45

L'un de mes serveurs est configuré pour monter automatiquement un répertoire Windows à l'aide de fstab. Cependant, après mon dernier redémarrage, il a cessé de fonctionner. La ligne dans fstab est:

//myserver/myfolder /mnt/backup cifs credentials=home/myfolder/.Smbcredentials

Le .Smbcredentialsfichier est:

username=myaccount
password=mypassword
domain=mydomain

Je fais un mount -aet je reçois mount error 13 = Permission denied. Si je le fais assez, mon compte Windows sera verrouillé, donc je sais que cela s’essaye. J'ai vérifié que mon mot de passe est correct.

Qu'est-ce que je fais mal?

Cornichon
la source
4
Pourriez-vous essayer de monter depuis la ligne de commande avec mount -t cifs //myserver/myfolder /mnt/backup --verbose -o credentials=home/myfolder/.Smbcredentialset ajouter les informations de débogage (désinfectées) à votre question?
bsd
Quelle est la distribution et la version de cifs-utilsce que vous avez installé? J'ai déjà eu ce problème et je pense que c'était à cause d'une mise à jour.
slm

Réponses:

44

Quelques choses à vérifier. Je fais quelque chose de similaire et vous pouvez tester le montage directement en utilisant la mountcommande pour vous assurer que tout est bien configuré.

Autorisations sur le fichier d'informations d'identification

Assurez-vous que ce fichier est autorisé à droite.

$ sudo ls -l /etc/smb_credentials.txt 
-rw-------. 1 root root 54 Mar 24 13:19 /etc/smb_credentials.txt

Mont Verbose

Vous pouvez obtenir plus d’informations sur l’ mountutilisation du -vcommutateur, ce qui vous indiquera souvent où les choses sont déclenchées.

$ sudo mount -v -t cifs //server/share /mnt \
    -o credentials=/etc/smb_credentials.txt

Résultat dans cette sortie si cela fonctionne:

mount.cifs kernel mount options: ip=192.168.1.14,unc=\\server\share,credentials=/etc/smb_credentials.txt,ver=1,user=someuser,domain=somedom,pass=********

Vérifiez les journaux

Après avoir exécuté la commande de montage ci-dessus, consultez à l'intérieur de vos fichiers dmesget / /var/log/messagesou /var/log/syslogtous les messages d'erreur éventuellement générés lors de la tentative mount.

Type de sécurité

Vous pouvez passer beaucoup d'options supplémentaires via le -o ..commutateur à monter. Ces options sont spécifiques à la technologie, elles s'appliquent donc mount.cifsspécifiquement à votre cas . Consultez la mount.cifspage de manuel pour en savoir plus sur toutes les options possibles.

Je soupçonne que vous manquez une option pour sec=.... Plus précisément l'une de ces options:

   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

       The default in mainline kernel versions prior to v3.8 was sec=ntlm. 
       In v3.8, the default was changed to sec=ntlmssp.

Vous devrez peut-être ajuster l’ sec=...option pour qu’elle soit sec=ntlmou sec=ntlmssp.

Les références

slm
la source
1
La vérification dmesgétait très utile. Cette réponse datait de 2014 et, depuis lors, l’exploitation WannaCry de SMB1.0 l’a rendue obsolète. Assurez-vous d’ajouter vers=2.02.1 ou 3.0, quel que soit le serveur pris en charge, car la version 1.0 par défaut ne sera plus prise en charge.
Michael Plautz
1
Juste un avertissement: comme le dossier de destination est sous Windows, qui nécessite souvent le changement de mot de passe de temps en temps, le mot de passe du fichier d'informations d'identification peut être invalide. mountcommande ne vous dira pas de tels détails.
HongboZhu
22

Merci, mais un peu plus de recherche sur Google a trouvé la solution. Il utilisait le type de sécurité incorrect par défaut; cette commande a fonctionné:

$ sudo mount -t cifs //172.16.1.5/myshare/ /mnt/myshare \
    -osec=ntlmv2,domain=MYDOMAIN,username=myusername,password=mypassword
Cornichon
la source
C'était ça! Exécuter mount -t cifs //10.0.0.138/usb1_1 /mnt/usbdisk -ousername=theusername,password=thepassord,file_mode=0644,dir_mode=0755,uid=rootsur une machine Fedora 25 a bien fonctionné, mais a échoué lorsque j’ai exécuté exactement la même commande sur une boîte ouverte (Chaos Calmer 15.05.1). L'ajout a sec=ntlmv2fait que ça marche là aussi.
hlovdal
2
Je suis venu ici pour essayer de monter un membre de Debian 9 AD sur un non-membre de CentOS 6, et cela m'a rapproché - pour moi, la magie était sec=ntlmssp
parfaite
La solution pour moi consistait à utiliser le domainmot clé et à le spécifier en dehors du nom d'utilisateur.
Jim Fell le
sec = ntlmv2 a l’option dont je viens de disposer pour mon accès smb à partir d’Ubuntu 18.04 au partage Windows 10. Merci, Pickle.
Noel aye
12

J'ai rencontré ce problème et le problème s'est avéré ne pas formater correctement les valeurs dans mon fichier d'informations d'identification. J'ai essayé:

username=DOMAIN\mylogin
password=<password>
domain=FULLY.QUALIFIED.DOMAIN

J'ai aussi essayé:

[email protected]
password=<password>
domain=FULLY.QUALIFIED.DOMAIN

Et:

username=FULLY.QUALIFIED.DOMAIN\mylogin
password=<password>
domain=FULLY.QUALIFIED.DOMAIN

Une fois que je viens d'utiliser mon nom d'utilisateur uniquement:

username=mylogin
password=<password>
domain=FULLY.QUALIFIED.DOMAIN

J'ai pu obtenir mon montage cifs pour réussir.

Mark Salisbury
la source
bonne explication!
Dima Lituiev
2

Cet ajout fonctionne sous Linux scientifique 6.6 (RedHat 6.6)

Editer /etc/fstab
créer fichier = .credentials(par exemple dans /etc) avec ces détails:

username=value
password=value
domain=value

//SERVER/SHARE1 /mnt/SHARE1 cifs credentials=/etc/.credentials,rw,uid=1000,gid=1000,nounix,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0 
stoferontheweb
la source
drap_mode et dir_mode drapeaux résolus pour moi! :)
Rafael Moni