====== Rendre lisible son répertoire à d'autres personnes ====== Sous linux, à travers les ACL (//Access Control List//), vous pouvez accorder des droits de lecture ou d'écriture à vos dossiers ou fichiers. Les ACL travaillent sur les logins ou sur les groupes UNIX. Une ACL dit : "ce login a ces droits-ci, ce groupe ces droits-là, etc.". Les sections suivantes montrent deux cas d'usage des ACL. Référence : http://www.vanemery.com/Linux/ACL/linux-acl.html ===== Partager ses fichiers au sein d'un groupe (labo) ===== > Serait ce possible de rendre les répertoires des gens de notre > groupe (machinp01, bidule02, ...) lisibles à tout notre groupe (mon_labo). > Pas de droit d'écriture bien sûr, mais des droits de > lecture. Nous avons souvent besoin de > voir et d'échanger nos fichiers. Pour répondre à la demande ci-dessus, nous allons mettre en place des ACL pour le groupe UNIX //mon_labo// (lequel est défini par vos administrateurs). Pour connaître vos groupes, taper la commande ''id''. Les deux utilisateurs //machinp01// et //bidule02// vont changer les droits de leur home directory pour le rendre accessible en entier à tout le groupe. **Commandes tapées par //machinp01//** : [machinp01@cali0 ~] **setfacl -R -m group:mon_labo:rx $HOME** [machinp01@cali0 ~] **setfacl -R -d -m group:mon_labo:rx $HOME** [machinp01@cali0 ~] **getfacl $HOME** user::rwx group::%%---%% group:mon_labo:r-x mask::r-x other::%%---%% default:user::rwx default:group::%%---%% default:group:mon_labo:r-x default:mask::r-x default:other::%%---%% **Explications** : - La première commande ajoute un droit de lecture et d'exécution (''rx'') sur le //home directory// et tous ses sous-fichiers et répertoires (option ''-R''). Le droit d'exécution est nécessaire pour traverser les répertoires UNIX. - La seconde commande ajoute un droit de lecture et d'exécution **par défaut** (option ''-d''), sur toute l'arborescence (''-R'') sous le //home directory//. Ainsi, tous les nouveaux fichiers et nouveaux sous-répertoires auront les bons droits. - La commande ''getfacl'' permet de voir les ACL Bien entendu, si //machinp01// doit accéder aux données de //bidule02//, celui-ci devra faire les mêmes commandes. ===== Partager ses fichiers avec une autre personne ===== > Je suis Alice (login alice01). > Est-il possible d'avoir accès en lecture au home de mon collègue Michel > Martin sur CALI ? ( /home/martinp01/ ). Et inversement pour lui. La demande est identique à la précédente, la seule différence est ici qu'on veut donner à une personne et non pas un groupe entier. **Commandes tapées par //alice01//** : [alice01@cali0 ~] **setfacl -R -m martinp01:rx $HOME** [alice01@cali0 ~] **setfacl -R -d -m martinp01:rx $HOME** [alice01@cali0 ~] **getfacl $HOME** # file: home/alice01 # owner: alice01 # group: Utilisateurs user::rwx **user:martinp01:r-x** %%group::--- mask::r-x other::--- default:user::rwx%% **default:user:martinp01:r-x** %%default:group::--- default:mask::r-x default:other::---%% Ensuite, ''martinp01'' doit faire la même chose pour donner l'accès à ''alice01''.