Les fichiers déjà créés d'auront pas de nouveaux droits d'accès ; il faudra les changer manuellement.
Seuls les nouveaux fichiers auront les nouveaux droits d'accès.
Bon, on se la refait (parce que j'ai encore testé, et ça fonctionne toujours). Peut-être as-tu oublié un tout petit élément qui fait capoter la procédure.
[EDIT] AAAARGG! La honte est sur moi ! J'ai trouvé où la procédure foirait ! (Dire que je pensais que le problème venait de toi, parce que pour moi, ça fonctionnait...) Dans ma retranscription, j'ai oublié un tout petit mot... qui a rendu toute la procédure inopérante. 🙁 Bref, maintenant, ça devrait fonctionner !
En me basant sur les informations que tu m'as données :
- dossier partagé : /home/partage/
- groupe des utilisateurs habilités à partager des fichiers : partage
(ce n'était pas la peine de créer un utilisateur "partage". Un groupe seul "partage" était suffisant.)
- utilisateurs habilités à partager des fichiers :
* toi : user1. Ce compte est habilité à effectuer des tâches administratives
* ta copine : user2
Passons par la console, c'est moins long que d'écrire "clique ici, puis là, et là...", surtout que tout ne se fait pas en mode graphique :
1) On tente d'abord d'ajouter
user1 et
user2 au groupe d'utilisateurs
partage. D'après ce que tu dis, normalement, ils devraient tous deux en faire déjà partie. À l'exécution de cette commande, 3 possibilités :
- ces utilisateurs ne faisaient pas partie du groupe
partage : ils sont ajoutés au groupe ;
- ces utilisateurs faisaient déjà partie du groupe
partage : la commande est sans effet ;
- le groupe
partage n'existe pas : un message d'erreur s'affiche.
user1@ordinateur:~$ sudo adduser user1 partage
user1@ordinateur:~$ sudo adduser user2 partage
2) On change le masque utilisateur par défaut pour les utilisateurs habilités à partager des fichiers.
user1@ordinateur:~$ echo "umask 0002" >> /home/utilisateur1/.profile
user1@ordinateur:~$ su user2
Mot de passe: (MOT DE PASSE DE 'USER2')
user2@ordinateur:/home/user1$ echo "umask 0002" >> /home/utilisateur2/.profile
user2@ordinateur:/home/user1$ exit
exit
user1@ordinateur:~$
À cette étape,
user1 et
user2 se déconnectent pour que leur appartenance au groupe
partage et leur nouveau maque utilisateur prennent effet.
3) Testons : le nouveau masque utilisateur et le nouveau groupe ont-ils été appliqués ? Depuis une session utilisateur sous le compte
user1, exécutons les commandes suivantes et observons les résultats :
-
groups liste l'ensemble des groupes auxquels appartient un compte. Dans cette liste,
partage doit apparaître. S'il n'y est pas, alors l'utilisateur ne fait pas partie du groupe
partage. (Les groupes actuels peuvent différencier de l'exemple) ;
-
umask affiche le masque utilisateur du compte. À cette étape, le nouveau masque doit être
0002. S'il est autre, alors le nouveau masque n'a pas été appliqué ;
-
su permet de changer d'identité. Dans ce cas, nous prendrons temporairement l'identité de
user2 afin de voir si elle fait partie de
partage et son masque utilisateur.
exit clos la session.
user1@ordinateur:~$ groups
user1 adm dialout cdrom plugdev lpadmin admin sambashare partage
user1@ordinateur:~$ umask
0002
user1@ordinateur:~$ su user2
Mot de passe: (mot de passe du compte 'user2')
user2@ordinateur:/home/user1$ groups
user2 partage
user2@ordinateur:/home/user1$ umask
0002
user2@ordinateur:/home/user1$ exit
exit
user1@ordinateur:~$
4) Créons un fichier vide, nommé
fichier.test1, qui nous servira à tester la prochaine étape :
user1@ordinateur:~$ sudo touch /home/partage/fichier.test1
5) On attribue des propriétés et des droits suffisants au dossier
/home/partage/. (Je rappelle à toute fin pratique que les majuscules et les minuscules ont leur importance :
partage et
Partage sont considérés comme deux mots différents.) À l'issue de ces commandes, les membres du groupe
partage peuvent lire et écrire dans le dossier et les fichiers qui y sont déjà présents. Si les bons droits étaient déjà appliqués, alors cette commande n'aura aucun effet nouveau.
user1@ordinateur:~$ sudo chgrp -R partage /home/partage
user1@ordinateur:~$ sudo chmod -R 770 /home/partage
Testons : est-ce que
user1 peut lire et écrire dans un fichier existant du dossier ? Est-ce que
user2 peut lire et écrire dans un fichier existant du dossier ? Écrivons une ligne dans le fichier
fichier.test1 en tant que
user1, puis une autre en tant que
user2 ; la commande
echo nous permet cela. Puis, listons le contenu du fichier avec la commande
cat. Si
user1 et
user2 ont réussi à écrire dans le fichier, alors le résultat en vert apparaît :
user1@ordinateur:~$ echo "user1 a écrit dans le fichier de test" >> /home/partage/fichier.test1
user1@ordinateur:~$ su user2
Mot de passe: (mot de passe de 'user2')
user2@ordinateur:/home/user1$ echo "user2 a écrit dans le fichier de test" >> /home/partage/fichier.test1
user2@ordinateur:/home/user1$ exit
exit
user1@ordinateur:~$ cat /home/partage/fichier.test1
user1 a écrit dans le fichier de test
user2 a écrit dans le fichier de test
user1@ordinateur:~$
6) On attribue le
sticky bit au groupe, afin que tout fichier nouvellement créé dans le dossier de partage appartienne au groupe
partage. (À titre informatif, cette commande est la seule qui ne pourrait être réalisée graphiquement.)
user1@ordinateur:~$ sudo chmod g+s /home/partage
Testons : est-ce qu'un nouveau fichier créé appartient systématiquement au groupe
partage ? Et est-ce que les partageurs pourront lire et écrire dans ces fichiers ? Créons deux fichiers, un par
user1 et un par
user2 ; la commande
touch crée un fichier vide. Puis, listons le contenu du dossier de partage avec
ls -l : nous aurons les informations de propriété (l'important est en bleu) et les informations de permissions (l'important est en vert) :
user1@ordinateur:~$ touch /home/partage/fichier.user1
user1@ordinateur:~$ su user2
Mot de passe: (mot de passe de 'user2')
user2@ordinateur:/home/user1$ touch /home/partage/fichier.user2
user2@ordinateur:/home/user1$ exit
exit
user1@ordinateur:~$ ls -l /home/partage
total 4
-rwxrwx--- 1 root partage 78 2009-11-28 02:39 fichier.test1
-rw-rw-r-- 1 user1 partage 0 2009-11-28 02:49 fichier.user1
-rw-rw-r-- 1 user2 partage 0 2009-11-28 02:49 fichier.user2
user1@ordinateur:~$
Est-ce que ça foire encore ? Si oui, à quelle étape ?