Montage cifs, extensions Unix et paramètres uid/gid

Guillaume Kulakowski par Guillaume Kulakowski dans Linux 5 septembre 2006 9
Linux

Après une soirée entière de galère à ne pas comprendre pourquoi les uid (utilisateur identifiant) et gid (groupe identifiant) forcés lors de mon montage cifs n’étaient pas pris en compte, j’ai réussi a trouver le fautif (avec l’aide d’un ami) : les extension Unix.

Pourquoi forcer l’uid et le gid lors d’un montage cifs ? Il peut arriver que l’uid et le gid du propriétaire des fichiers sur le serveur samba ne soit pas le même que celui qui monte la partition. Utiliser les paramètres uid et gid lors du montage sert à corriger cette différence.

Cependant, il s’avère que les extensions Unix empêchent ce forçage, la solution est alors de les supprimer :

unix extensions = no

Pour info, voici ma ligne de fstab :

//192.168.1.1/sites /mnt/deepspace9 cifs user,noauto,credentials=/home/llaumgui/.credentials,uid=500,gid=500 0 0

Vous remarquez que j’utilise l’option credentials pour aller chercher mes identifiants dans un fichier à part et éviter qu’il soit lisible de tous ceux ayant accès au fstab (de base, il est en lecture seule pour les utilisateurs). La syntaxe de ce fichier est :

username=toto
password=titi

Commentaires

LLaumgui

De LLaumgui le 5 septembre 2006

Je t'avoue que je ne suis pas convaincu par le CIFS, je lui préfert fuseSMB qui monte tout dnas un même dossier.

Eric

De Eric le 5 septembre 2006

J'ai du mal à comprendre. Si tu désactive les extensions tu ne pourras plus faire du cifs mais du smb seulement non ? Donc plus de lien symboliques et autre ???

unix extensions (G)

   This boolean parameter controls whether Samba implments the CIFS UNIX extensions, as defined by HP. These extensions enable Samba to better serve UNIX CIFS clients by supporting features such as symbolic links, hard links, etc... These extensions require a similarly enabled client, and are of no current use to Windows clients.
Eric

De Eric le 5 septembre 2006

Je connaissais pas fusesmb faut que je regarde tout ça.
Tu dis avoir eu des problèmes avec cifs ?

LLaumgui

De LLaumgui le 5 septembre 2006

Trop de problème avec fuse. Et puis au taf, j'ai des serveurs Linux et Microsoft, avec un fusesmb, tu monte tout d'un coup.

Bearnaise

De Bearnaise le 5 septembre 2006

J'ai moi-même galéré pour faire une configuration CIFS avec autofs. Merci pour la solution avec fstab.

sbruck

De sbruck le 5 septembre 2006

Génial, merci, c'est exactement ce dont j'avais besoin :)
Milles merci.

Gally31

De Gally31 le 5 septembre 2006

Salut,
J'ai une petite question, j'étais sous ubuntu et cette ligne fstab (pour le partage de mon NAS) marchait parfaitenent et maintenant que je suis sous fedora, je n'ai que le droit de lecture. la faute aux extentions ?

//192.168.0.13/globshare /media/NAS cifs uid=1000,gid=1000,file_mode=0750,dir_mode=0750,iocharset=utf8,credentials=/root/.smbcredentials 0 0

Question de newbe... où rajouter la ligne "unix extensions = no" ?
Merci

Gally31

De Gally31 le 5 septembre 2006

Problème résolut:
A la place de uid=1000,gid=1000 ( que j'avais bêtement copier sans trop savoir se que c'était) j'ai mis mon "user" et j'ai appris a compter en octale, j'ai donc remplacer les 750 par des 775 et hop lecture écriture après démarage. C'ést si simple quand on sait!
PS: j'ai tenter avec fusesmb, mais je n'ai trouver aucun tuto donc échèque lamentable pendant quelques heures avant de revenir sur cifs.
Tout le monde en dis du bien de fusesmb, se serai cool qu'il y ai un tuto
Merci

Arno

De Arno le 5 septembre 2006

Hello, j'arrive un peu après la bataille, mais bon...

Je suis un linux newbie et j'ai eu plus ou moins le même problème, et je reviens ici après quelques recherches qui m'ont permis de le résoudre.

La ligne "unix extensions = no" se place côté serveur dans le fichier smb.conf, ce qui évite les
echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
à chaque fois coté client (avant le mount) pour désactiver l'override user/group qui se fait par défaut avec les unix extensions, lorsque les user sur le server et le client ne correspondent pas.

Voila, si ça peut aider, on ne sait jamais...

Les commentaires pour ce poste sont fermés.