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 :

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
Avatar de Guillaume Kulakowski

À propos de l’auteur

Commentaires

9 réponses à “Montage cifs, extensions Unix et paramètres uid/gid”

  1. Avatar de LLaumgui

    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.

  2. Avatar de Eric
    Eric

    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.
  3. Avatar de Eric
    Eric

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

  4. Avatar de LLaumgui

    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.

  5. Avatar de Bearnaise
    Bearnaise

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

  6. Avatar de sbruck
    sbruck

    Génial, merci, c’est exactement ce dont j’avais besoin 🙂
    Milles merci.

  7. Avatar de Gally31
    Gally31

    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

  8. Avatar de Gally31
    Gally31

    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

  9. Avatar de Arno
    Arno

    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…

Derniers articles sur le journal