Forum Linux.mandriva Attributs étendus

Posté par  .
Étiquettes : aucune
0
3
jan.
2005
Hello !

Quelqu'un a t-il déjà réussi à utiliser les attributs étendus sous Mandrake 10.1 ? Notamment les fonctions setxattr(2) getxattr(2) et listxattr(2) ? Sur quel type de systèmes de fichiers est-ce sensé fonctionner ? Je me suis fait un petit programme pour positionner ces attributs sur de l'ext3, mais pour chaque opération, j'ai droit à un message du style :
Erreur de setxattr sur "bleurp": Operation not supported

Argh ! Ne me dites pas qu'il faut recompiler le noyau ?

J'ai un peu regardé sur google, mais à part des pages manuels, je n'ai rien trouvé d'intéressant.

Et une autre question conne au passage : est-ce que les ACL utilisent les attributs étendus (à moins que ce ne soit l'inverse) ?

J'ai l'impression que cette fonctionnalité n'est pas encore au point, bien que ça me serait utile pour indexer les fichiers. Alors si quelqu'un sait quoi installer/recompiler/reconfigurer, un nom à donner en pâture à urpmi, je suis preneur !
  • # Pour les acls

    Posté par  (site web personnel) . Évalué à 4.

    Les attributs étendus je ne suis pas sur de savoir ce que c'est, en revanche les ACLs ca marchent relativement bien, a condition d'avoir un noyau 2.6 ou 2.4 patché et d'utiliser des bons programmes : en effet il n'est pas rare de voir des programmes d'edition ou autres faire sauter les ACL lors d'une sauvegarde, car ces programmes travaillent avec une nouvelle copie du fichier modifié, et n'en récuperent que les droits basiques (rwx), sans sauvegarder les acls !

    -> http://www.linuxfrench.net/article.php3?id_article=1463(...) pour un ptit tuto simple et rapide
  • # Marche pas bien chez moi non plus

    Posté par  . Évalué à 1.

    Pour les ACL, je sais que cela utilise le systeme des attributs étendus... par contre, ce que je ne comprends pas, c'est que les ACL fonctionnent chez moi, mais pas les attributs étendus...

    En tous cas, pour les ACL et Attributs étendus, il faut que le noyau soit compilé avec le support de ces fonctions (pour ext3 par exemple):

    # zgrep ATTR /proc/config.gz
    [...]
    CONFIG_EXT3_FS_XATTR=y
    [...]
    # zgrep ACL /proc/config.gz
    [...]
    CONFIG_EXT3_FS_POSIX_ACL=y
    [...]
    CONFIG_FS_POSIX_ACL=y
    [...]

    Ensuite, il faut que la partition soit montée avec les bons paramètres. Extrait du /etc/fstab :
    /dev/ide/host0/bus0/target0/lun0/part6 on / type ext3 (rw,user_xattr,acl,errors=remount-ro)

    lisa:/tmp# touch toto
    lisa:/tmp# setfacl -m u:bouil:rw toto
    lisa:/tmp# ls -l toto
    -rw-rw-r--+ 1 root root 0 2005-01-03 10:49 toto
    lisa:/tmp# getfacl toto
    # file: toto
    # owner: root
    # group: root
    user::rw-
    user:bouil:rw-
    group::r--
    mask::rw-
    other::r--

    Les ACL marchent donc... mais pas les attributs étendus... j'ai du me tromper quelque part, mais je ne comprends pas ou...:

    lisa:/tmp# setfattr -n type -v 'text/plain' toto
    setfattr: toto: Opération non supportée

    Voilà, si quelqu'un peut compléter afin que cela fonctionne...
    • [^] # Re: Marche pas bien chez moi non plus

      Posté par  . Évalué à 1.

      > lisa:/tmp# setfattr -n type -v 'text/plain' toto
      > setfattr: toto: Opération non supportée

      Je crois qu'il y a un espace de nom pour setfattr. Essais avec :
      - "setfattr -n user.type -v 'text/plain' toto"

      Le "user." est important.
      • [^] # Re: Marche pas bien chez moi non plus

        Posté par  . Évalué à 1.

        En effet, ça marche comme ça... j'avais vu que les espaces de noms étaient important, mais je pensais pas que c'était obligatoire !
        bouil@lisa:/tmp$ touch toto
        bouil@lisa:/tmp$ setfattr -n user.type -v 'text/plain' toto
        bouil@lisa:/tmp$ getfattr toto
        # file: toto
        user.type
        
        bouil@lisa:/tmp$ getfattr -n user.type toto
        # file: toto
        user.type="text/plain"
        
        bouil@lisa:/tmp$
        
        Merci !
        • [^] # Re: Ça marche

          Posté par  . Évalué à 1.

          Merci à tous, il fallait effectivement rajouter l'option user_xattr dans /etc/fstab de la partition où on veut activer le support des attributs étendus.

          Merci encore, j'aurais pu chercher pendant lontemps cette option là.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.