Andesi - forum

Forum francophone pour Debian

Vous n'êtes pas identifié(e).

#1 28/08/2010 14:43:47

pathe
Moderator
Lieu : shell (Seine et Marne)
Inscription : 21/11/2004
Messages : 815

un répertoire partagé

J'aimerais avoir un répertoire
qui serait utilisable par n'importe quel utilisateur de mon ordi,
et dans lequel on pourrait mettre ce que l'on veut
et accéder librement à ce que les autres y ont mis :
le principe serait que tout document y étant placé
devient accessible en lecture et en écriture à chacun.
J'y mettrais essentiellement de la musique et des photos.

Mais comment faire ?
J'ai cherché un peu sur le net,
et je tombe essentiellement sur NFS,
ce qui ne correspond pas.

J'ai créé un dossier /home/partage,
et une ligne du crontab superutilisateur qui fait chmod 755 /home/partage/* très régulièrement,
mais ça n'est pas idéal.

Et je me souviens que ça existe déjà,
mais je ne me souviens plus comment ça s'appelle.

Quelqu'un pourrait-il me le rappeler, ou me conseiller ?

Merci.


*********** GPG : 45F03D8C ***********

Hors ligne

#2 28/08/2010 15:00:05

ioguix
Administrator
Lieu : Paris
Inscription : 25/04/2003
Messages : 3 945

Re : un répertoire partagé

À priori, je dirais que ça pue les ACL et l'héritage de droit depuis le répertoire parent tout ça...

Malheureusement, je ne les manipule pas assez souvent pour te sortir les commandes à faire, du coup, je vais te laisser chercher, mais la réponse pourrait bien m'intéresser smile


ioguix@jabber.org
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222

Hors ligne

#3 09/09/2010 08:52:02

ustilago
Membre
Lieu : Charente-Maritime
Inscription : 14/08/2004
Messages : 1 540
Site Web

Re : un répertoire partagé

Hello,

Il n'y a pas que NFS dans la vie, AFS est à la mode en ce moment, en conjonction avec Kerberos pour sécuriser le bitin, et je ne parle pas de l'autre solution dansante big_smile

Par contre pour un seul répertoire partagé, ça fait un peu sortir une bombe thermonucléaire pour écraser un moustique hmm

Usti


Faut pas énerver un tigre ...

Hors ligne

#4 09/02/2011 12:55:04

deb2deb
Membre
Inscription : 13/09/2008
Messages : 25

Re : un répertoire partagé

Pas sûr de bien comprendre, mais s'il s'agit de permettre tous les utilisateurs d'un même ordinateur d'accéder à un répertoire, ne suffirait-il pas de mettre tous les utilisateurs dans un groupe partage (par ex.) et de donner les droits en lecture/écriture du répertoire à partager au groupe ?

Hors ligne

#5 09/02/2011 13:55:19

e-miel
Membre
Inscription : 21/08/2004
Messages : 453

Re : un répertoire partagé

Voire même à tout le monde ? (rwxrwxrwx)

Hors ligne

#6 10/02/2011 16:13:08

armen
Membre
Lieu : 48°03'03" N - 04°59'55" W
Inscription : 09/03/2004
Messages : 1 938

Re : un répertoire partagé

Le problème, c'est quand l'utilisateur toto copie un fichier dans /home/partage, le fichier appartient à toto avec  les droits correpondants aux fichiers créés par toto ( soit par défaut -rw-r--r--), et donc titi peut le lire, mais pas le modifier.

Comme toto ne vaut pas forcément donner les droits en écriture à tout le monde sur tous les fichiers qu'il crée, il doit faire un chmod (ou la version graphique) après la copie. C'est pour cela que l'ami Pathe fait des chmod très régulièrement (et automatiquement, j'imagine).

Armen qui espère ne pas avoir trahi la pensée du créateur du fil.


"La grandeur d'un métier est peut-etre, avant tout, d'unir des hommes : il n'est qu'un luxe véritable, et c'est celui des relations humaines." Antoine de Saint-Exupéry

Hors ligne

#7 10/02/2011 20:10:15

e-miel
Membre
Inscription : 21/08/2004
Messages : 453

Re : un répertoire partagé

Donc, ce qu'il faudrait, c'est que le dossier partagé soit "rwxrwxrwx" et que umask soit à 0.

Hors ligne

#8 11/02/2011 09:25:02

armen
Membre
Lieu : 48°03'03" N - 04°59'55" W
Inscription : 09/03/2004
Messages : 1 938

Re : un répertoire partagé

D'accord pour le umask, mais comment le modifier à la volée pour le répertoire /home/partage ? On ne veut pas que tous les fichiers créés soient lisibles par tout le monde, mais seulement ceux créés dans /home/partage. umask s'applique au niveau utilisateur, pas pour une branche du file system.

Peut-être de donner un groupe commun aux utilisateurs du partage puis de faire un <b>chmod 2750 /home/partage</b> en mettant un umask 002 (si chaque utilisateur a un groupe primaire du nom de l'utilisateur, cela ne doit pas poser de problème). Cela permet que les fichiers créés dans /home/partage appartiennent au groupe partage et pas au groupe primaire de l'utilisateur

A voir si cela convient


"La grandeur d'un métier est peut-etre, avant tout, d'unir des hommes : il n'est qu'un luxe véritable, et c'est celui des relations humaines." Antoine de Saint-Exupéry

Hors ligne

#9 11/02/2011 10:09:31

e-miel
Membre
Inscription : 21/08/2004
Messages : 453

Re : un répertoire partagé

Umask, comme son nom l'indique, fonctionne comme un masque par rapport au propriétés du dossier parent.

Si le Umask est à 0, normalement, les nouveaux fichiers devraient tout simplement obtenir, lors de leur création, les mêmes droits que le dossier parent dans lequel ils ont été créés. C'est comme ça que je l'ai compris.

Hors ligne

#10 19/02/2011 14:59:00

orgrim
Administrator
Lieu : Palaiseau
Inscription : 03/09/2005
Messages : 374
Site Web

Re : un répertoire partagé

Salut,

changer le umask et le passer à 0 est dangereux, en gros, c'est comme si les permissions ne servaient plus. Tout comme les chmod 777, qui sont à *bannir*,  et que beaucoup de gens prennent pour une solution miracle.

Bref, la solution du répertoire setgid + groupe en écriture, avec un groupe contenant tous les utilisateurs autorisés est la solution la plus simple, comme le propose Armen. L'idéal étant d'utiliser les ACL.


"First they ignore you, then they ridicule you, then they fight you, then you win."
  --  Mahatma Gandhi

Hors ligne

#11 15/12/2011 05:50:00

ustilago
Membre
Lieu : Charente-Maritime
Inscription : 14/08/2004
Messages : 1 540
Site Web

Re : un répertoire partagé

Bonsoir,

Je me pose actuellement la même question que Pathe, et je dois dire que je reste un peu perplexe hmm

Si j'ai bien compris :

  • tout fichier créé par un utilisateur a les droits de son umask

  • l'umask peut être modifié, mais il l'est alors pour tous les futurs fichiers créés, on ne peut pas le positionner pour un répertoire particulier

  • un répertoire avec sgid permettra à n'importe qui du groupe d'appartenance du répertoire d'y créer fichiers et répertoires (cas de /usr/local et du groupe staff par exemple), par contre les fichiers auront l'umask de l'utilisateur, donc par défaut pas de droits d'écriture au groupe

Donc, soit on modifie l'umask pour autoriser l'écriture par le groupe, soit on fait une tâche cron comme Pathe le suggère, c'est bien ça ?

Et dans le premier cas, cela introduit malgré tout un trou potentiel de sécurité, minime somme toute pour un portable utilisé par un seul utilisateur, dont les collègues ne savent pas se servir de Linux big_smile.

Donc, comme le fait remarquer Ioio, les acl sont-elles mes amies ?

Dans les noyaux récents, visiblement les acl sont activées (2.6.38 des retro-portages Squeeze) :

$ grep ACL /boot/config-2.6.38-bpo.2-amd64 
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
CONFIG_GENERIC_ACL=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_CIFS_ACL=y
CONFIG_9P_FS_POSIX_ACL=y

Ensuite, il faut les activer sur la partition où on veut les utiliser, en ajoutant l'option **acl** dans le */etc/fstab* :

UUID=d30adeed-998c-4f8b-b25c-185113da1cda    /    ext3    errors=remount-ro,acl    0    1

Mais, est-ce dangereux de le faire sur sa partition racine ?

Bref, voici ce qu'il y avait avant sur mon répertoire :

$ getfacl echange/
# file: echange/
# owner: zzyzx
# group: echange
# flags: -s-
user::rwx
group::rwx
other::r-x

$ ll |grep echange
drwxrwsr-x  2 zzyzx    echange 4096 13 déc.  08:41 echange

Je positionne l'acl par défaut pour le groupe :

$ sudo setfacl -m d:g::rwX echange/

Les fichiers créés seront lisibles et écrisibles par le groupe, et si c'est un répertoire il sera en plus consultable (le X), ce qui donne :

$ getfacl echange/
# file: echange/
# owner: zzyzx
# group: echange
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x

Et donc, maintenant, je créé un fichier dedans :

$ touch andesi_roxxxx.txt

$ ll andesi_roxxxx.txt 
-rw-rw-r-- 1 ustilago echange 0 15 déc.  04:41 andesi_roxxxx.txt

$ getfacl andesi_roxxxx.txt 
# file: andesi_roxxxx.txt
# owner: ustilago
# group: echange
user::rw-
group::rw-
other::r--

$ su - zzyzx
Mot de passe : 

$ cd /usr/local/share/echange

$ echo vive le samouraï en plasique > andesi_roxxxx.txt

$ cat andesi_roxxxx.txt 
vive le samouraï en plasique

Bon, on dirait que ça fonctionne comme attendu smile.

J'adore quand un plan se déroule sans anicroche !

Usti

PS : les deux pages que j'ai consultées :


Faut pas énerver un tigre ...

Hors ligne

#12 15/12/2011 13:56:01

pathe
Moderator
Lieu : shell (Seine et Marne)
Inscription : 21/11/2004
Messages : 815

Re : un répertoire partagé

Usti,

merci d'avoir repris ce fil un peu oublié.
Je dos dire que j'ai un peu laissé ce problème de côté,
mais j'ai toujours besoin de le résoudre.

Un truc m'a étonné :
j'ai un portable sous squeeze,
et cette distrib' semble avoir nativement un répertoire partagé.

Après vérification :
ce dossier s'appelle « Public ».
Il est au premier niveau de mon répertoire utilisateur.
Quand je l'ouvre avec Nautilus,
s'affichent les phrases suivantes :

Partage de fichiers personnels
Vous pouvez partager des fichiers de ce dossier à travers le réseau et Bluetooth

Il y a un menu « Préférences » dans lequel j'ai coché l'option « Partage de fichiers à travers le réseau ».

Puis j'ai créé un fichier dans ce dossier :

$ ls -al Public/truc 
-rw-r--r-- 1 pathe pathe 6 15 déc.  12:50 Public/truc

Il a donc des permissions normales.

Mais bon :
c'est bien joli, tout ça,
mais ça concerne un partage de fichiers via le réseau,
pas sur une même machine.

Il faudra que j'approfondisse.

À bientôt.

Pathe


*********** GPG : 45F03D8C ***********

Hors ligne

#13 15/12/2011 14:32:35

ustilago
Membre
Lieu : Charente-Maritime
Inscription : 14/08/2004
Messages : 1 540
Site Web

Re : un répertoire partagé

Plop,

Content d'avoir pu te rendre service Pathe smile

Bon, par contre les ACL telles que je les décris ne résolvent pas tous les cas de figure : sur la création d'un répertoire ou d'un fichier, ça fonctionne au poil. Par contre, lors de la copie d'un fichier d'un répertoire à ce répertoire de partage, le masque de création n'est pas respecté, et je me retrouve avec des fichiers sans droits d'écriture par le groupe hmm

Donc, en attendant de voir si les ACL peuvent gérer ça, je vais ajouter un petit script cron, sachant que pour mon utilisation ça ira tout à fait (j'utilise un utilisateur pour le boulot en journée, et un autre le soir pour le perso).

Usti


Faut pas énerver un tigre ...

Hors ligne

Pied de page des forums