• [^] # Re: Brasil !

    Posté par . En réponse au message Obliger l'utilisateur à donner un mot de passe pour accéder à un répertoire. Évalué à 3.

    Ca demande un mot de passe pour l'user quand il veut accéder à des fichiers permis pour le groupe foobar cette commande ?
    gpasswd -a login_du _user foobar ?
    Non.

    Voici un exemple :
    fabrice@ubuntu:~ $ cd /tmp/
    fabrice@ubuntu:/tmp $ sudo -s
    root@ubuntu:/tmp # mkdir secret_defense
    root@ubuntu:/tmp # ls -dl secret_defense/
    drwxr-xr-x 2 root root 4096 2005年01月17日 19:07 secret_defense/
    root@ubuntu:/tmp # chmod 0750 secret_defense/
    root@ubuntu:/tmp # ls -dl secret_defense/
    drwxr-x--- 2 root root 4096 2005年01月17日 19:07 secret_defense/
    root@ubuntu:/tmp # groupadd foobar
    root@ubuntu:/tmp # grep foobar /etc/group
    foobar:x:1001:
    root@ubuntu:/tmp # chgrp foobar secret_defense/
    root@ubuntu:/tmp # ls -dl secret_defense/
    drwxr-x--- 2 root foobar 4096 2005年01月17日 19:07 secret_defense/
    root@ubuntu:/tmp # echo "GNU's Not Un*x" > secret_defense/secret
    root@ubuntu:/tmp # exit
    fabrice@ubuntu:/tmp $ groups
    fabrice adm dialout cdrom floppy audio video plugdev lpadmin scanner
    fabrice@ubuntu:/tmp $ cd secret_defense/
    bash: cd: secret_defense/: Permission non accordée
    fabrice@ubuntu:/tmp $ ls -l secret_defense/
    ls: secret_defense/: Permission non accordée
    fabrice@ubuntu:/tmp $ cat secret_defense/secret
    cat: secret_defense/secret: Permission non accordée
    fabrice@ubuntu:/tmp $ sudo -s
    root@ubuntu:/tmp # gpasswd -a fabrice foobar
    Ajout de l'utilisateur fabrice au groupe foobar
    root@ubuntu:/tmp # exit
    fabrice@ubuntu:/tmp $ logout
    Déconnexion afin que les modifications soient prises en compte...
    fabrice@ubuntu:~ $ groups
    fabrice adm dialout cdrom floppy audio video plugdev lpadmin scanner foobar
    fabrice@ubuntu:~ $ cd /tmp/
    fabrice@ubuntu:/tmp $ cd secret_defense/
    fabrice@ubuntu:/tmp/secret_defense $ cat secret
    GNU's Not Un*x
    fabrice@ubuntu:/tmp/secret_defense $ sudo -s
    root@ubuntu:/tmp/secret_defense # gpasswd -d fabrice foobar
    Retrait de l'utilisateur fabrice du groupe foobar
    root@ubuntu:/tmp/secret_defense # exit
    fabrice@ubuntu:/tmp/secret_defense $ logout
    Déconnexion afin que les modifications soient prises en compte...
    fabrice@ubuntu:~ $ groups
    fabrice adm dialout cdrom floppy audio video plugdev lpadmin scanner
    fabrice@ubuntu:~ $ cd /tmp/
    fabrice@ubuntu:/tmp $ cd secret_defense/
    bash: cd: secret_defense/: Permission non accordée
    fabrice@ubuntu:/tmp $ ls -l secret_defense/
    ls: secret_defense/: Permission non accordée
    fabrice@ubuntu:/tmp $ cat secret_defense/secret
    cat: secret_defense/secret: Permission non accordée

    Cette solution n'est-elle pas plus élégante ?

    Les pages de manuel à consulter :
    * chmod(1)
    * chown(1)
    * chgrp(1)
    * groups(1)
    * gpasswd(1)
    * groupadd(8)
    * groupdel(8)
    * ...

    Fab.