====== 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''.