Forum Linux.débutant setgid et mv

Posté par  (site Web personnel) .
Étiquettes : aucune
2
2
août
2011

J'ai un dossier partagé dans mon /home/moi/public et je cherche à faire en sorte que les fichiers que d'autres utilisateurs y mettent héritent des droits de ce dossier.

J'ai essayé avec setgid, mais sans trop de succès...

  • # chmod ?

    Posté par  . Évalué à 1.

    ce serait pas plutot un chmod g+s que tu voudrais faire ?
    pour que group des fichiers soit forcé au groupe du dossier d'origine ?

    • [^] # Re: chmod ?

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

      J'ai essayé, les fichiers copiés gardent effectivement le bon groupe, mais sont en lecture seule. Avec un mv, les fichiers ne changent même pas de groupe...

      Je ne m'étais jamais trop intéressé aux droits unix et je m'aperçoit que ce n'est pas si simple :-)

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

      • [^] # Re: chmod ?

        Posté par  . Évalué à 1.

        faut regarder du coté des 3 droits etendus
        http://fr.wikipedia.org/wiki/Permissions_Unix#Droits_.C3.A9tendus

        voire peut-etre, selon ton besoin (sur un systeme de fichier complet par exemple) du coté de umask
        http://en.wikipedia.org/wiki/Umask

        • [^] # Re: chmod ?

          Posté par  (site Web personnel) . Évalué à 1.

          Pour l'instant d'après ce que j'ai compris, sous linux, il n'est pas possible de faire un dossier "public", cad dans lequel les fichiers créés ou déplacés sont accessibles à tous en lecture/écriture.

          C'est très décevant...

          Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

          • [^] # Re: chmod ?

            Posté par  . Évalué à 2.

            chmod 777 /mon/dossier/public

            et tout le monde peut lire/ecrire dedans

            ou alors j'ai pas compris ta question ?

  • # ACL

    Posté par  . Évalué à 4.

    Les ACL (Access Control List) peuvent peut être résoudre ton problème. Cependant il faut que ton fs soit monté avec l'option acl (à ajouter dans le fstab si nécessaire à chaque boot).

    http://linux.developpez.com/acls/

    • [^] # Re: ACL

      Posté par  (site Web personnel) . Évalué à 2.

      Malheureusement dans la manpage d'acl, on voit que :

      The mv(1) utility always preserves ACLs

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

  • # inotify

    Posté par  . Évalué à 2.

    Le systèmes des permissions/ACL/etc de Linux est très limité par rapport à ce que Windows sait faire. C'est d'ailleurs un gros frein pour en faire un serveur de fichiers "drop-in".

    Pour contourner tu peux par exemple utiliser inotify associé à un script.
    C'est crade. Ca fonctionne.

  • # LA solution

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

    J'ai réussi à faire ce que je voulais en utilisant bindfs et en ajoutant une entrée dans fstab:

    bindfs#/media/public    /media/public   fuse    perms=a+rw
    

    Désormais tous les fichiers créés ou déplacés dans /media/public sont en lecture/écriture pour tout le monde!

    Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

    • [^] # Re: LA solution

      Posté par  (site Web personnel) . Évalué à 0.

      Ce n'est pas LA solution, ça : c'est seulement la solution crade. LA solution, c'est les ACL, et pour être précis, les ACL par défaut.

      • [^] # Re: LA solution

        Posté par  . Évalué à 1.

        Ce sujet m'intéresse aussi, peux tu m'expliquer pourquoi bindfs c'est une solution "crade"?

      • [^] # Re: LA solution

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

        Les ACL par défaut ne s'appliquent pas pour un mv.

        Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

  • # Euh...

    Posté par  . Évalué à 1.

    Soit je n'ai pas compris l'énoncé, soit j'ai un linux dopé...
    Je viens de faire des essais sur ma machine perso avec deux utilisateurs (user1 et user2) tous deux membres du groupe partage. L'umask des deux utilisateurs est réglé à 0002 dans le .bashrc, et j'ai créé un répertoire /home/partage, appartenant à nobody:partage, ayant les droits 775 (mais 770 suffit en fait).
    Chacun des utilisateurs peut déposer des fichiers dans ce répertoire, les modifier, les supprimer... Aucun problème.
    Même mv fonctionne, dis donc...

Suivre le flux des commentaires

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