Droits d'un dossier

Bonjour,

Voila mon problème...

j'ai deux partitions sur mon PC :
/dev/sda1, montée comme /, partition de petite taille, contient le système
/dev/sda2, montée comme /home, plus grosse partition du disque, contient les home de chaque user
(plus bien sûr le swap...).

Et je voudrais créer un dossier nommé "secret", accessible uniquement à certains utilisateurs...
Comme la majeur partie de l'espace se trouve sur /dev/sda2, j'ai pensé créer le dossier dans /home/secret.
Et, pour limiter l'accès, j'ai aussi créé un groupe "secret" dans lequel j'ai ajouté les utilisateurs autorisés à accéder au dossier.
Le dossier appartient à root et au groupe secret. Les droits sont de 770 (7 pour root - de toute façon il les aura que je le veuille ou non - et 7 pour les utilisateurs autorisés, 0 pour les autres).

Mais... Même en utilisant un utilisateur faisant partie du groupe, pas d'accès, et même si c'est le groupe primaire...
Seul root peut accéder au dossier. Si je change les droits en 777, tout le monde peut y accéder, et si je donne le répertoire à un utilisateur (avec 770), lui seul (et root) peuvent y accéder...
Le message donné par Dolphin est : "Impossible d'entrer dans le dossier".

J'ai aussi tenté de créer un utilisateur secret, et de lui donner le répertoire : aucun effet.

Donc, ma question : comme créer un répertoire accessible uniquement à certains utilisateurs sur la partition /dev/sda2, de préférence sans avoir à traverser mon propre home ?

Merci d'avance.

PS : petit truc bizarre...
Quand je vais en console et que je tape cd /home./secret, il refuse, mais si je fais su (passe en root), su nart (revient sur mon compte utilisateur) et cd /home/secret, il accepte (comme si mon compte obtenait les privilèges root). C'est normal ? Ou ça peut être un début d'explication ?
Configuration: Linux Mandriva
Firefox 3.0.12

5 réponses

  1. Bonjour,

    on peut avoir un :
    ls -ld /home/secret


    Le dossier appartient à root et au groupe secret

    je pense que le problème est ici ......
    0
    1. [root@NSCLT home]# ls -ld
      drwxr-xr-x 7 root root 4096 2009-08-05 14:57 ./

      [root@Rsoft home]# ls -l
      total 32
      drwx------ 3 dark dark 4096 2009-07-25 11:21 dark/
      lrwxrwxrwx 1 root root 16 2009-05-19 20:39 guest -> /home/nart/
      drwx------ 4 kol kol 4096 2009-08-04 16:09 kol/
      drwx------ 2 root root 16384 2009-05-19 20:25 lost+found/
      drwx------ 56 nart nart 4096 2009-08-05 20:51 nart/
      drwxrwx--- 4 secret secret 4096 2009-08-05 14:56 secret/

      Et j'avais aussi créé un utilisateur "secret" auquel j'avais donné le répertoire (donc, propriété de secret, groupe secret), et ça à rien changé...

      Les seules solutions pour y accéder étaient de donner le répertoire à celui qui en a besoin (emmerdant car il faudrait donner le pass root à tous ceux qui pourraient avoir besoin de s'emparer du dossier) ou mettre les droits 777 (donc la protection devenait inefficace).
      0
  2. Bonsoir,

    Je testerais

    setfacl -m 'u:dark:7,u:kol:7,u:nart:7,d:g:secret:7' /home/secret

    Manu
    0
    1. Merci, mais...

      Ca marche pas...

      [root@NSCLT home]# setfacl -m 'u:dark:0,u:kol:7,u:nart:7,d:g:secret:7' /home/secret/
      setfacl: secret/: Opération non supportée

      [nart@NSCLT home]$ cd secret/
      bash: cd: secret/: Permission non accordée
      (malgré 'drwxrwx--- 4 secret secret 4096 2009-08-05 14:56 secret/' et que nart soit membre du groupe secret...)
      0
      1. Modérateur
        Salut,

        Voici une petite démonstration.
        Pas besoin de ACLs dans ce cas.
        Faire les gens membre de groupe secret suffit.
        Le seul problème que tu rencontrera c'est que chaque utilisateur aura accès à ces fichiers seulement.
        Maintenant il faut voir si tu veux laisser l'accès à tout quelque soit le propriétaire (par exemple titi avoir l'accès aux fichiers de toto et vice versa)
        Dans l'exemple titi et toto sont membre de groupe secret.
        Tu remarqueras que chacun peut aller dans le /home/secret pour écrire.
        En revanche l'utilisateur lami20j n'a pas la permission.
        Si tu as des questions n'hésite pas.
        debian:~# whoami
        root
        debian:~# groupadd secret
        debian:~# mkdir /home/secret
        debian:~# chgrp -v secret /home/secret
        Changement de groupe de `/home/secret' vers secret
        debian:~# chmod -v 0770 /home/secret
        Le mode d'accès de `/home/secret' a été modifié à 0770 (rwxrwx---).
        debian:~# useradd -d /home/toto -s /bin/bash -G secret -m toto
        debian:~# useradd -d /home/titi -s /bin/bash -G secret -m titi
        debian:~# passwd titi
        Entrez le nouveau mot de passe UNIX :
        Retapez le nouveau mot de passe UNIX :
        passwd : le mot de passe a été mis à jour avec succès
        debian:~# passwd toto
        Entrez le nouveau mot de passe UNIX :
        Retapez le nouveau mot de passe UNIX :
        passwd : le mot de passe a été mis à jour avec succès
        debian:~# grep -E 'titi|toto' /etc/passwd
        toto:x:1008:1011::/home/toto:/bin/bash
        titi:x:1009:1012::/home/titi:/bin/bash
        debian:~# grep -E 'secret' /etc/group
        secret:x:1010:toto,titi
        debian:~# grep -E 'titi|toto' /etc/group
        secret:x:1010:toto,titi
        toto:x:1011:
        titi:x:1012:
        debian:~# su - titi
        titi@debian:~$ pwd
        /home/titi
        titi@debian:~$ cd /home/secret
        titi@debian:/home/secret$ echo salut > fichier.txt
        titi@debian:/home/secret$ ls -l
        total 4
        -rw-r--r-- 1 titi titi 6 aoû  5 21:52 fichier.txt
        titi@debian:/home/secret$ exit
        logout
        debian:~# su - toto
        toto@debian:~$ pwd
        /home/toto
        toto@debian:~$ cd /home/secret/
        toto@debian:/home/secret$ echo bonjour >> fichier.txt
        -su: fichier.txt: Permission non accordée
        toto@debian:/home/secret$ ls -ld .
        drwxrwx--- 2 root secret 4096 aoû  5 21:52 .
        toto@debian:/home/secret$ exit
        logout
        debian:~# su - toto
        toto@debian:~$ cd /home/secret/
        toto@debian:/home/secret$ echo bonjour > fichier2.txt
        toto@debian:/home/secret$ ls -l
        total 8
        -rw-r--r-- 1 toto toto 8 aoû  5 21:54 fichier2.txt
        -rw-r--r-- 1 titi titi 6 aoû  5 21:52 fichier.txt
        toto@debian:/home/secret$ exit
        logout
        debian:~# su - lami20j
        lami20j@debian:~$ cd /home/secret/
        -su: cd: /home/secret/: Permission non accordée
        lami20j@debian:~$ 


        1
        1. jolie démonstration !!!!!!!

          :-)
          0