Créer un dossier COMMUN pour tous les usagers

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.

Créer un dossier COMMUN pour tous les usagers

Messagede le Manchot Masqué » Ven 16 Juin 2017, 13:20

Beaucoup de gens, et même des administrateurs chevronnés, ignorent que GNU/Linux sait parfaitement gérer plusieurs usagers et groupes pour un même fichier/dossier, via les listes de contrôle d'accès (ACL), présentes aujourd'hui sous toutes les distributions.

Nous prendrons ici le cas simple d'un dossier COMMUN que l'on veut partager entre tous les membres d'une même famille.

Nous rappelons que la commande "ls -l" en console permet d'afficher les informations du dossier courant, que la commande "cd .." permet de remonter au dossier parent de l'arborescence, et que la commande "cd enfant1" permet d'aller dans un dossier enfant nommé ici "enfant1". Ce sont des manipulations de base à connaître, et honnêtement : trois commandes, ce n'est pas la mer à boire...

Pour des questions de sécurité, j'ai pour habitude de fixer manuellement les droits sur les dossiers /home/$user en 700 (rwx------) avec un "chmod 700 /home/*", ce qui assure qu'un utilisateur ne peut accéder aux données d'un autre, et évite les effacements "accidentels" entre utilisateurs. Bien entendu, vous êtes libres de faire comme vous l'entendez chez vous...

Pour commencer, on créé simplement un dossier à part, que nous nommerons ici /COMMUN dans la suite, sous nobody:users en 770 (rwxrwx---) par exemple.
Notez ici que le fait de créer un dossier partagé permettra à n'importe quel usager d'effacer les données d'autrui dans ce dossier.
Pour une famille, on considérera ici que ce n'est pas un problème fondamental.
Et puis c'est tellement amusant de ne jamais faire ses sauvegardes pour venir ensuite pleurer qu'on a tout perdu - on ne va pas s'en priver, quand même ! ;)

L'astuce consistera ici à rajouter tous les usagers au groupe users (groupe présent par défaut sous GNU/Linux), puis d'utiliser les listes de contrôle d'accès (ACL) pour que GNU/Linux rajoute automatiquement le groupe users avec les bons droits de lecture/écriture/accès, et ce dès qu'un usager créé un nouveau fichier/dossier dans le /COMMUN.

La commande suivante ne se fait évidemment qu'une seule fois, sous administrateur root.

Code: Select All Code
setfacl -m d:g:users:rwX -R /COMMUN/


Ce qui est surtout important ici est l'option "d", qui ajoute, aux droits UNIX par défaut, des droits supplémentaires propres au groupe users : r pour read (lecture), w pour write (écriture) et X pour ne mettre le droit x (accès) que sur les répertoires/dossiers, ce qui évite donc de transformer les fichiers simples en scripts/fichiers exécutables...

Pour lire les ACL d'un dossier, c'est la commande "getfacl nom_dossier" qui fait le travail inverse :

Code: Select All Code
# getfacl /COMMUN
# file: COMMUN/
# owner: nobody
# group: users
user::rwx
group::rwx
other::---
default:user::rwx
default:group::rwx
default:group:users:rwx
default:mask::rwx
default:other::---


A noter enfin que Caja, le navigateur de fichiers de l'environnement MATE, n'affiche pas ces ACL étendues, et c'est clairement une amélioration qu'il serait peut-être temps d'ajouter...

Si pour un particulier, l'usage des ACL étendues est inutile, pour une famille, l'exemple ici du dossier COMMUN démontre qu'on peut en avoir besoin.
Pour une entreprise, la question ne se pose pas : connaître les ACL étendues est une obligation aujourd'hui.

Il faut donc espérer que les navigateurs de fichiers de GNU/Linux évolueront rapidement pour prendre graphiquement en charge les ACL étendues.
En attendant, passer par la console n'est jamais une mauvaise chose pour apprendre les commandes de base, avant de se jeter sur des outils graphiques certes plus ergonomiques, mais souvent incomplets en terme de fonctionnalités...
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
 
Messages: 316
Inscription: Lun 26 Mai 2008, 21:05
Localisation: Guebwiller
Distribution: Debian, Ubuntu
Niveau: Moitié plein !

Retourner vers Sur un logiciel

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron