Droits d'un dossier

nart -  
bob031 Messages postés 8228 Statut Membre -
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. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  2. bob031 Messages postés 8228 Statut Membre 473
     
    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. nart
       
      [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
  3. Manu
     
    Bonsoir,

    Je testerais

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

    Manu
    0
  4. nart
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. bob031 Messages postés 8228 Statut Membre 473
     
    jolie démonstration !!!!!!!

    :-)
    0