#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
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
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
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