Réponses:
Tiré de cet excellent article sur les forums Ubuntu par Morbius1.
La façon classique de Linux de faire ce genre de chose ressemble à ceci:
Créez le dossier partagé:
sudo mkdir /home/Shared
Créez le nouveau groupe d'utilisateurs:
sudo addgroup newgroup
Modifiez la propriété du dossier partagé au nouveau groupe:
sudo chown :newgroup /home/Shared
Ajoutez les utilisateurs souhaités à ce groupe:
sudo adduser user1 newgroup
Répétez l'opération pour tous les utilisateurs.
Vous avez maintenant quelques décisions à prendre sur ce que vous voulez que ces utilisateurs puissent faire:
[a] Tous les utilisateurs du groupe peuvent ajouter et supprimer du dossier et peuvent lire mais pas écrire les uns sur les autres:
sudo chmod 0770 /home/Shared
[b] Comme ci-dessus, mais seul le propriétaire du fichier peut le supprimer:
sudo chmod 1770 /home/Shared
[c] Tous les utilisateurs du groupe peuvent ajouter et supprimer du dossier et peuvent lire et écrire dans leurs fichiers respectifs:
sudo chmod 2770 /home/Shared
[d] Identique à [c] sauf que seul le propriétaire du fichier peut le supprimer:
sudo chmod 3770 /home/Shared
Un 1
dans la première position de la commande chmod est le bit collant qui empêche la suppression d'un fichier à toute personne autre que le propriétaire.
Un 2
dans la première position de la commande chmod est le bit setgid qui force tous les fichiers nouveaux ou copiés à avoir le groupe de ce dossier.
A 3
dans la première position de la commande chmod est la combinaison des bits sticky ( 1
) & setgid ( +2
).
Il y a une mise en garde à tout cela en ce qui concerne le bit setgid. Tous les nouveaux fichiers créés dans et tous les fichiers copiés dans ce dossier hériteront en fait du groupe du dossier. Mais pas les fichiers déplacés vers ce dossier. Les fichiers déplacés conservent la propriété de l'endroit où ils ont été déplacés. Une façon de contourner ce problème consiste à utiliser bindfs.
Enfin, si vous voulez que d'autres personnes en dehors du groupe puissent voir les fichiers sans les changer, changez le 0 final de la chmod
commande en 5, par exemple:
sudo chmod 0775 /home/Shared