Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/08/2005, à 13:25

szdavid

[ACL] Définir des droits par défaut sur un dossier

Copié tel quel depuis mon blog



ATTENTION ! MAL EMPLOYEE OU EMPLOYEE SUR DES FICHIERS SENSIBLES,
CETTE TECHNIQUE PEUT DIMINUER LA SECURITE DE VOTRE SYSTEME


Bonjour à tous,

peut être avez-vous eu un jour la même idée saugrenue que moi, à savoir personnaliser des droits plus avancés que 'propriétaire", 'groupe' et 'autres' ou, comme ce fut mon cas, de définir une partition comme accessible à tous, de même que pour tout nouveau
fichier créé,...
Il s'agissait, pour moi, de définir une partition réservée aux MP3 où quiconque peut venir, supprimer, insérer, renommer n'importe quel fichier, même si ce n'est pas lui qui l'a créé.
(Infos sur les permissions)

Ceci est permis grâce aux ACL (Access Control Lists).

Pour les installer :

sudo apt-get install libacl1 libacl1-dev acl

Si vous faites

cat /boot/config* | grep _ACL

vous devriez  au moins voirr les lignes suivantes (pour un système de fichiers de type ext3) :

CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y

Pour appliquer cette technique à la partition en question, faites

sudo mount -o remount,acl /dev/hda8

(hda8 étant chez moi ma partition de mp3)


Pour effectuer cela automatiquement au démarrage, effectuez

sudo vi /etc/fstab

et modifiez la ligne de la partition pour y rajouter l'option 'acl'
comme suit :

/dev/hda8       /mnt/mp3        ext3    acl,auto,user_xattr     0       0

Effectuons un petit test :

mkdir ~/ACL
cd ~/ACL
touch test.acl
ls -l test.acl

vous devriez avoir quelque chose proche de :

-rw-rw-r--  1 szdavid:szdavid 05 aug 09 15:24 test.acl

Pour connaître les droits 'ACL' d'un fichier, il faut utiliser la commande <b>getfacl</b> :

getfacl test.acl

Nous obtenons ce qui suit :

test.acl
owner : szdavid
group : szdavid
user ::rw-
group ::r--
other ::r--

ce qui correspond au résultat de la commande ls -l vue plus haut.

Modifions ces droits et donnons tous les droits (lecture et écriture) à mon utilisateur 'visiteur' :

setfacl  -m u:visiteur:w test.acl

et nous obtenons alors, après un getfacl :

test.acl
owner : szdavid
group : szdavid
user ::rw-
group ::r--
other ::r--
visiteur ::rw-

'visiteur' peut a présent modifier ce fichier. Pourtant, le résultat d'un ls -l est toujours le même ; il faut donc vous méfier au niveau de la sécurité par rapport à cela pour l'avenir : le ls -l ne permet pas uniquement de s'assurer si un fichier est correctement protégé.


Ensuite, il est également possible de préciser que tous les fichiers/dossiers créés dans un dossier auront les mêmes permissions ACL ; pour cela, nous utiliseront l'ACL par défaut.

setfacl -R -m d::rw /mnt/mp3

Voilà, c'est fait...

Source : Linux French

Dernière modification par szdavid (Le 09/08/2005, à 13:29)

Hors ligne

#2 Le 09/08/2005, à 16:34

FreedomSound

Re : [ACL] Définir des droits par défaut sur un dossier

c'est si compliqué que çà ??
y'a pas un truc tout simple du style où tu forces que les répertoires et fichiers  enfant prennent les même droits que ceux du répertoire parent ??
(à la windows quoi)


humpf !
M'enfin ?!

Hors ligne

#3 Le 09/08/2005, à 17:11

szdavid

Re : [ACL] Définir des droits par défaut sur un dossier

si, c'est chmod -r 777 tondossier
MAIS
1) dès qu'un nouveau fichier est créé, il faut le refaire
2) il faut être root alors que ce changement est fait automatiquement lors de la création du fichier
3) tu peux fignoler en disant que tu veux que tel utilisateur ait tel droits, tel groupe ceux là,... du cas par cas

Hors ligne

#4 Le 09/08/2005, à 17:17

FreedomSound

Re : [ACL] Définir des droits par défaut sur un dossier

Si je comprend bien, il est donc impossible de forcer à un fichier ses droits et son appartenance à un groupe et un utilisateur  ??

Exemple :
drwxrwsr-x    9 root data   224 2005-08-03 17:52 data
=> Tout ce qui sera créé dans le répertoire=data, aura pour Utilisateur=root et pour groupe=data est impossible à faire??? ...


humpf !
M'enfin ?!

Hors ligne

#5 Le 09/08/2005, à 17:23

szdavid

Re : [ACL] Définir des droits par défaut sur un dossier

si, avec la technique ci dessu s mais, d'après ce que j'ai cru comprendre (regarde la source indiquée en fin de post), si toto du groupe titi dans ./data, ce fichier aura les droits -rw-r-r (je crois) et appartiendra à toto et au groupe titi (ça, c'est sur)

Hors ligne

#6 Le 30/08/2005, à 10:18

indukush

Re : [ACL] Définir des droits par défaut sur un dossier

FreedomSound a écrit :

c'est si compliqué que çà ??
y'a pas un truc tout simple du style où tu forces que les répertoires et fichiers  enfant prennent les même droits que ceux du répertoire parent ??
(à la windows quoi)

En faite si !
Il faut activer le bit setgid pour le dossier parent.
Quand un répertoire est setgid, tous les fichiers créés dans ce répertoire appartiennent au même groupe que le répertoire. C'est utilisé par exemple quand plusieurs personnes travaillent sur un projet commun.

Pour l'activer tu vas dans les propriétés de ton dossier et dans l'onglet permission, tu coches setgid.
Voila ...

pour plus d'info voir ici http://www.trustonme.net/didactels/144. … oits_chmod

cool


Asus M6 -- Ubuntu Addict -- Hindu Kush

Hors ligne

#7 Le 08/09/2005, à 14:06

sparky

Re : [ACL] Définir des droits par défaut sur un dossier

FreedomSound a écrit :

c'est si compliqué que çà ??
y'a pas un truc tout simple du style où tu forces que les répertoires et fichiers  enfant prennent les même droits que ceux du répertoire parent ??
(à la windows quoi)

Non à partir de l'hoary tu fais juste sudo apt-get install acl, le reste noyau, autre est standard, le point important de monter le FileSystem avec l'option acl, c'est tout

Pas d'outil graphique pour les acl, dommages...

Hors ligne