Ceci est une ancienne révision du document !



Partage local versus partage réseau
Le présent document traite d'une manière de partager un dossier d'un seul ordinateur entre plusieurs utilisateurs de cet ordinateur. Il ne traite pas du partage d'un dossier entre deux ou plusieurs ordinateurs d'un même réseau local. Pour plus d'informations à propos du partage de dossier sur un réseau local, consultez le document dédié au partage sur réseau.

Comment partager un dossier entre plusieurs utilisateurs d'un même ordinateur ?

Dans un environnement multi-utilisateur, il est parfois intéressant de disposer d'un dossier auquel tous peuvent accéder. Ainsi, tous les utilisateurs peuvent lire les fichiers contenus dans ce dossier, ainsi qu'y déposer des fichiers à partager avec les autres utilisateurs de l'ordinateur. Comment parvenir à ce résultat ?

Le présent document vous expose une manière de créer un dossier partagé entre plusieurs comptes d'un même ordinateur.

Afin de bien comprendre la procédure, nous l'exposerons à l'aide d'un cas pratique. Pour ce faire, basons ici le cadre de l'expérience :

  • Trois comptes d'utilisateurs existent dans le système Ubuntu :
  • Le dossier à partager est /home/Partage/
  • John et Mary doivent
    • pouvoir afficher le contenu du dossier et lire tous les fichiers qu'il contient
    • pouvoir y écrire des nouveaux fichiers
    • pouvoir modifier les fichiers qui sont placés dans ce dossier
  • Rick ne doit pouvoir ni accéder aux fichiers de ce dossier de partage, ni lister le contenu du dossier

Afin que cette procédure soit valable pour l'ensemble des variantes de la distribution Ubuntu, nous effectuerons toute la procédure en mode console. Cette procédure doit être exécutée depuis le compte de John, puisqu'il est le seul à pouvoir accomplir des tâches administratives. Toutes les commandes ont été rassemblées en groupes afin de correspondre aux étapes de la description, ci-dessous.

john@ordinateur:~$ sudo -s
[sudo] password for john:     (entrez le mot de passe de John)
root@ordinateur:~# addgroup partageurs
root@ordinateur:~# adduser john partageurs
root@ordinateur:~# adduser mary partageurs

root@ordinateur:~# echo "umask 0002" >> /etc/profile

root@ordinateur:~# mkdir /home/Partage
root@ordinateur:~# chgrp partageurs /home/Partage
root@ordinateur:~# chmod g+rwx,o-rwx /home/Partage
root@ordinateur:~# chmod g+s /home/Partage
root@ordinateur:~# exit
exit
john@ordinateur:~$

Une fois cette procédure complétée, John et Mary doivent se déconnecter de leur session actuelle. Leur appartenance au groupe partageurs ainsi que leur nouveau masque utilisateur ne sont considérés qu'à la prochaine ouverture de session.

N'oubliez pas d'utiliser le mode Récursif -R si le répertoire contient déjà des dossiers et des fichiers:
root@ordinateur:~# chgrp -R partageurs /home/Partage
root@ordinateur:~# chmod -R g+rwx,o-rwx /home/Partage
root@ordinateur:~# chmod -R g+s /home/Partage

Création d'un groupe de partage et ajout des utilisateurs concernés au groupe de partage

La création d'un groupe de partage, l'ajout d'utilisateurs à ce groupe, la modification du masque utilisateur et la création du dossier de partage sont des tâches administratives. Elles doivent être accomplies par le compte système (root). Dans la session de l'utilisateur john, ouvrons un terminal. Exécutons ensuite la commande suivante, qui nous ouvrira une session en tant que compte système :

john@ordinateur:~$ sudo -s
[sudo] password for john:     (entrez le mot de passe de John)

La commande addgroup sert à créer un nouveau groupe d'utilisateurs. Ce groupe d'utilisateurs nous servira à identifier les utilisateurs habilités à accéder au dossier de partage : ceux qui feront partie de ce groupe y auront accès, alors que ceux qui n'en font pas partie n'y auront pas accès. Créons un groupe appelé partageurs :

root@ordinateur:~# addgroup partageurs

La commande adduser a deux fonctions : créer un nouveau compte d'utilisateur ou ajouter un compte d'utilisateur existant à un groupe d'utilisateurs existant. Dans le cas de cette procédure, c'est cette deuxième fonction qui nous intéresse. Exécutons une première fois la commande pour ajouter john au groupe partageurs. Puis, exécutons la commande une seconde fois pour ajouter mary au groupe partageurs.

root@ordinateur:~# adduser john partageurs
root@ordinateur:~# adduser mary partageurs

Désormais, John et Mary font partie du groupe d'utilisateurs partageurs. Rick n'en fait pas partie ; il ne pourra donc pas accéder au dossier de partage.

Modification du masque utilisateur par défaut

Le masque utilisateur est une propriété qui est utilisée par le système Ubuntu au moment de la création d'un nouveau fichier ou d'un nouveau dossier. Il sert à attribuer un ensemble de permissions par défaut à un fichier ou dossier, au moment de sa création. Les permissions attribuées par le masque utilisateur par défaut d'Ubuntu sont insuffisantes pour réaliser un dossier de partage comme nous l'entendons dans le postulat. Modifions le masque utilisateur par défaut du système Ubuntu :

root@ordinateur:~# echo "umask 0002" >> /etc/profile

Création du dossier de partage

Créons le dossier de partage :

root@ordinateur:~# mkdir /home/Partage

Attribuons à ce dossier de partage des droits suffisantes pour permettre aux membres du groupe partageurs d'accéder à ce dossier. Pour ce faire, modifions le groupe propriétaire du dossier afin que celui-ci soit partageurs ; ceci s'effectue à l'aide de la commande chgrp. Puis, attribuons à ce dossier un maximum de permissions aux membres de partageurs et aucune permission pour ceux qui ne sont pas membres de partageurs ; ceci se réalise avec la commande chmod

root@ordinateur:~# chgrp partageurs /home/Partage
root@ordinateur:~# chmod g+rwx,o-rwx /home/Partage

Enfin (et c'est là la partie la plus importante de toute cette procédure), attribuons le GID bit au groupe propriétaire du dossier de partage. Ce mode attribue automatiquement tout fichier créé dans le dossier de partage au groupe propriétaire du dossier de partage (dans notre cas, partageurs). Cette action s'effectue aussi avec la commande chmod :

root@ordinateur:~# chmod g+s /home/Partage

Fermeture de session

Tous les utilisateurs qui ont rejoint le groupe d'utilisateurs partageurs doivent clore toutes leurs sessions en cours. En effet, l'appartenance à un nouveau groupe d'utilisateurs et le changement de masque utilisateur ne sont pas pris en compte immédiatement. Ces modifications ne sont prises en compte qu'à l'ouverture de session suivante. Dans notre cas, John et Mary doivent fermer toutes leurs sessions utilisateurs. Rick ne faisant pas partie des membres habilités à partager des fichiers, il n'a pas besoin de clore puis rouvrir sa session.

À leur prochaine ouverture de session, John et Mary peuvent se servir du dossier de partage /home/Partage/ pour partager divers fichiers. Rick n'a pas du tout accès au dossier partagé.

Comment ajouter un utilisateur au groupe de partage ?
Un nouvel utilisateur, Jenny (identifiant du compte : jenny), est inscrit dans le système Ubuntu. Vous désirez ajouter Jenny au groupe de partage auquel font partie John et Mary. Pour ce faire, vous n'avez qu'à répéter l'étape de l'ajout d'un utilisateur au groupe partageurs : dans un terminal ouvert sur le compte de John (qui peut effectuer des tâches administratives), exécutez la commande suivante :
john@ordinateur:~$ sudo adduser jenny partageurs

Si Jenny a actuellement une session ouverte, elle doit la clore puis la rouvrir pour que son appartenance au groupe partageurs prenne effet.

Créer plusieurs groupes de partage

Nouveau postulat : vous êtes un enseignant dans une école élémentaire. Dans votre salle de classe, vous disposez d'un seul ordinateur sous Ubuntu dans lequel chacun de vos 20 élèves a un compte d'utilisateur. Vous lancez un projet : vous séparez la classe en deux équipes. Chacune des équipes doit monter une revue de presse à propos d'un évènement de l'actualité, qu'elle exposera ensuite à l'autre moitié de la classe. Chaque élève traite individuellement d'un aspect de ce projet, mais les membres d'une même équipe mettent en commun le fruit de leur travail. Comme vous ne disposez que d'un seul ordinateur dans la classe, les élèves doivent se partager le temps d'utilisation du poste. Vous désirez donc que chaque élève ait accès à un dossier partagé avec les membres de son équipe, mais ne puisse accéder aux dossiers des autres équipes. Comment accomplir cela ?

Pour ce faire, il suffit de créer plusieurs groupes de partage et plusieurs dossiers de partage. Suivez la procédure ci-dessus, en changeant le nom du groupe de partage et le nom du dossier de partage pour chacune des quatre équipes d'élèves. Par exemple :

  • créons un grand dossier /projet/ à la racine du système de fichiers. Nous créerons des dossier projet1/ et projet2/ dans ce grand dossier ;
  • créons deux groupes de partage, equipe1 à equipe2 ;
  • insérons les élèves dans les bonnes équipes.
enseignant@ordinateurdeclasse:~$ sudo -s
[sudo] password for enseigant:     (entrez le mot de passe de l'enseignant)
root@ordinateurdeclasse:~# addgroup equipe1
root@ordinateurdeclasse:~# addgroup equipe2

root@ordinateurdeclasse:~# adduser simon equipe1
root@ordinateurdeclasse:~# adduser helene equipe1
root@ordinateurdeclasse:~# adduser romain equipe2
root@ordinateurdeclasse:~# adduser rachida equipe2
[...]

root@ordinateurdeclasse:~# echo "umask 0002" >> /etc/profile

root@ordinateurdeclasse:~# mkdir /projet
root@ordinateurdeclasse:~# mkdir /projet/projet1
root@ordinateurdeclasse:~# mkdir /projet/projet2

root@ordinateurdeclasse:~# chgrp equipe1 /projet/projet1
root@ordinateurdeclasse:~# chmod g+rwx,o-rwx /projet/projet1
root@ordinateurdeclasse:~# chmod g+s /projet/projet1

root@ordinateurdeclasse:~# chgrp equipe2 /projet/projet2
root@ordinateurdeclasse:~# chmod g+rwx,o-rwx /projet/projet2
root@ordinateurdeclasse:~# chmod g+s /projet/projet2

root@ordinateurdeclasse:~# exit
exit
enseignant@ordinateurdeclasse:~$

Ainsi, Simon et Hélène peuvent mettre en commun leur travail, mais ne peuvent voir ce qu'ont réalisé Romain et Rachida. De même, Romain et Rachida peuvent mettre en commun leur travail, mais n'ont pas accès au projet de Simon et Hélène.

  • tutoriel/dossier_de_partage.1262266419.txt.gz
  • Dernière modification: Le 18/04/2011, 14:51
  • (modification externe)