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

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 :

[bash]
unix extensions = no

Pour info, voici ma ligne de fstab :

[bash]
//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 :

[bash]
username=toto
password=titi

9 réactions

  • De Eric De Eric - 13/06/2007, 10:10 #1

    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.
  • De LLaumgui De LLaumgui - 13/06/2007, 10:28 #2

    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.

  • De Eric De Eric - 13/06/2007, 10:44 #3

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

  • De LLaumgui De LLaumgui - 13/06/2007, 23:43 #4

    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.

  • De Bearnaise De Bearnaise - 19/06/2007, 17:12 #5

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

  • De sbruck De sbruck - 25/01/2008, 17:14 #6

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

  • De Gally31 De Gally31 - 28/08/2008, 11:15 #7

    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

  • De Gally31 De Gally31 - 29/08/2008, 02:01 #8

    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

  • De Arno De Arno - 19/11/2008, 23:45 #9

    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...

Attribution - Partage dans les Mêmes Conditions 4.0 International