Depuis quelque temps, au boulot, je n'avais plus accès aux disques réseau. Je n'ai pas vraiment pris le temps de débugger cela, d'autant plus que lorsque je montais le dique réseau à la main, tout fonctionnait correctement.

C'est assez simple: dans mon /etc/fstab, je spécifiais le disque réseau à monter, le point de montage, ainsi qu'un certain nombre de paramètres.

Le paramètre le plus intéressant, c'est credentials. Il permet d'externaliser les informations d'authentification dans un fichier de la forme :

username=toto
password=tutu
workgroup=mamaison

(La ligne workgroup est optionnelle.)

Après cela, il suffit de protéger ce fichier (par exemple en lui donnant un mode 400), et vous obtenez une sécurité un peu plus élevée.

Bon, voilà pour le contexte.

Moi, j'étais tranquillement en smbfs. Et puis, après un certain temps de transition où on avait les deux en parallèle (il me semble), smbfs est devenu un alias de cifs. Et là, rien ne va plus.

Il faut dire que mon fichier de credentials se présentait plutôt de la sorte :

username = toto
password = tutu
workgroup = mamaison

Ah, vous aussi vous commencez à voir venir l'embrouille ?

Et oui, avec CIFS, il ne faut mettre aucune espace autour du symbole égal. Amusant, non ?[1]

Parmi les autres modifications incompatibles, il faut mettre les paramètres file_mode et dir_mode (nouveaux noms respectifs de fmask et dmask) en octal (c'est à dire par exemple 0600 au lieu de juste 600).

En bonus, ma ligne de montage dans /etc/fstab:

//machine.reseau.fr/partage /mnt/h cifs nodev,noexec,nouser,sync,rw,nosuid,credentials=/etc/fichier-credentials,uid=1000,gid=1000,file_mode=0600,dir_mode=0700,iocharset=iso8859-1 0 0

Notes

[1] En pratique, c'est sans doute pour permettre l'usage de mots de passe avec une espace, justement.