Droits d'un dossier

Fermé
nart - 5 août 2009 à 20:30
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 - 6 août 2009 à 08:05
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 ?

5 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 août 2009 à 22:01
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
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 473
5 août 2009 à 20:48
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
[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
Bonsoir,

Je testerais

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

Manu
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 473
6 août 2009 à 08:05
jolie démonstration !!!!!!!

:-)
0