Gestion des droits et repertoire partagé

Salut

J’aurais besoin d’un petit conseil sur les droits de dossier

J’ai créé un dossier avec un droit d’endossement de 2000, ce qui permet que chaque nouveau dossier ou fichier créé dans ce dossier indépendamment de l’utilisateur, ait le gid du dit dossier.

Et je voudrais savoir si on peut faire la mm pour que le uid du fichier ou dossier soit aussi forcer ?

THx

[quote=“Mans”]Salut

J’aurais besoin d’un petit conseil sur les droits de dossier

,J’ai créé un dossier avec un droit d’endossement de 2000 ce qui permet que chaque nouveau dossier ou fichier créé dans ce dossier indépendamment de l’utilisateur, ait le gid du dit dossier.

Et je voudrais savoir si on peut faire la mm pour que le uid du fichier ou dossier soit aussi forcer ?

THx[/quote]

:question: :question: :question:
Si la finalité recherchée est de pouvoir créer des fichioers utilisables par ts, il y a plus simple mais j’aimerais un peu plus d’explications/exemples.

Je te décris le contexte, je suis sur un partage nfs, avec un ordi dit “serveur”, et des clients.

L’idée est que le repertoire partage se voit appartenir au groupe 5000, et propritaire 5000, plus un droit d’endossement 2000, pour forcer le guid.

Quand les utilisateurs écrivent dans le repertoire de partage, je souhaite que leurs dossiers et fichiers appartiennent tous au meme groupe et meme utilisateur.

Comme ca, qu’il soit sur une machine ou une autre ils puissent acceder aux dossiers et fichiers, avec tous les droits. De plus comme c’est une salle de formation, celui qui encadre peut alors deposer un fichier pour que tout le monde puisse le lire, le copier ou le modifier, voir supprimer.

A savoir que j’aurais pu utiliser samba, mais premierement il n’y a pas de windows, et je voulais apprehender nfs.

Merci, j’espere que c’est plus clair.

Pourquoi alors ne pas changer les droits en 777 :question: Là, tt le monde pourra tt faire .
Tu peux créer le dossier-mère de façon récursive, ainsi, ts les nveaux fichiers/dossiers seront aussi en 777.

EDIT :
Maintenant, si tu ne veux pas que tt le monde puisse écrire ds le dossier, tu peux faire :
“Machin” crée le dossier et est donc proprio.
“Machin” et ts les autres autorisés font partie du groupe "truc"
tu mets ce dossier en 774.

Quand je parlais de droit d’endossement 2000, bien entendu que le droit appliqué est de 2777

exemple :
Repertoire partagé

chmod -R 2777 /home/Partage/ ls -ld /home/Partage/ drwsrwxrwx 16 5000 5000 4096 2008-11-18 23:08 /home/Partage/

Utilisateur

mkdir /home/Partage/titi ls -ld /home/Partage/titi/ drwxr-sr-x 2 libre 5000 4096 2008-11-19 01:26 /home/Partage/titi/

Alors ce que j’ai trouvé :
2000 endosse le droit du groupe (exact, on voit bien mon dossier a un gid 5000, comme le repertoire pere)
4000 endosse le droit de l’utilisateur

Donc je me suis dit 2000+4000, donnera suid et sguid du dossier pere.

Alors

Repertoire partagé

chmod -R 6777 /home/Partage/ ls -ld /home/Partage/ drwsrwsrwx 16 5000 5000 4096 2008-11-18 23:08 /home/Partage/

Utilisateur

mkdir /home/Partage/testeeee ls -ld /home/Partage/testeeee/ drwxr-sr-x 2 libre 5000 4096 2008-11-19 01:44 testeeee

Je ne sais pas ce que je n’ai pas compris ?
Une piste

Merci

je ne pense pas que GID (4000+2000=6000 ???) puisse s’additionner comme les droits de base (777) mais là, j’avoue mon incompétence.

Salut à tous

Voila ce que j’ai fini par trouvé…

Je récapitule le cadre, un lieu avec plusieurs profils utilisateurs différents, et des répertoires partagés sur un serveur. Il n’y a que des linux, donc pas de questions c’est nfs-kernel-server, et nfs-common.

Trois groupes d’utilisateurs, et trois répertoires partagés avec différentes politiques de droits

Groupe A : acces lecture écriture aux dossiers I,DP et P

Groupe B : acces lecture écriture aux dossiers I,DP
Groupe B : acces lecture au dossier P

Groupe C : acces lecture écriture au dossiers I
Groupe C : acces lecture au dossier DP
Groupe C : pas d’acces au dossier P

Pour pré-requis, après maintes réflexions et tests, j’ai utilisé le droit d’endossement, umask, et la constitution de groupes d’utilisateurs

Groupe A gid 1001, 2000
Groupe B gid 1001, 2000
Groupe C gid 2000

Dans un premier temps j’ai mis un droit d’endossement au dossier partagé pour que tout ce qui sera créé à l’intérieur appartiennent au groupe de ce dossier, et j’avais affecté des droits au groupe, mais cela ne fonctionne pas, tout ce qui était créé appartenait bien au groupe, mais avec un 755, donc tu as beau appartenir au groupe tu ne pouvais le modifier… Donc la solution est d’ajuster le masque de création (umask).

Le umask normal est 0022, 777 moins 0022 égale bien 755 (aille c’était bien la ou ça bloquait), donc on passe à 0002, et on obtient bien un dossier ou fichier créé avec les droits 775. Donc le membres du groupe a le droit de le modifier.

Ce n’est pas tout de le faire à chaque utilisateur (dans le fichier .bashrc), mais il faut aussi le faire pour le navigateur de fichier, car jusque la j’étais en ligne de commande (arg !). Il faut ajouter une fichier dans le home utilisateur .gnomerc contenant umask 0002. Et op cette fois c bon…

Les dossiers partagés

Ajout du droit d’endossement, avec au préalable avoir fixé le nom du groupe auquel ces dossiers doivent appartenir

# chmod -R 2775 /data/*

#ls -lad /data/
drwxrwsr-x  6 root 1001     4096 mar 18 12:04 I
drwxrwsr-x  6 root 1001     4096 mar 18 12:04 DP
drwxrwsr-x  6 root 2000     4096 mar 18 12:04 P

Pour ce qui est du partage voici, j’ai aussi usé deux plages d’ip pour me simplifier le tout

Groupe A et B en 192.168.1.2*
Groupe C en 192.168.1.1*

/etc/export

/data/I  192.168.1.2*(rw,anongid=1001,all_squash,async,no_subtree_check)

/data/DP  192.168.1.2*(rw,anongid=1001,all_squash,async,no_subtree_check) 
/data/DP  192.168.1.1*(ro,async,no_subtree_check)

/data/P  192.168.1.11(rw,anongid=2000,all_squash,async,no_subtree_check) 
/data/P  192.168.1.21(rw,anongid=2000,all_squash,async,no_subtree_check)

et le fstab pour le montage suivant cet exemple…

192.168.1.130:/data/I      /home/I   nfs     rw,user,auto       0       0

Dernière chose, notre umask permet donc à tous les utilisateurs de modifier les données personnelles des autres membres du groupe. Donc juste vérifier que le dossier utilisateurs possèdent le droit qui vous convienne. On peut simplement enlever le droit d’execution sur ce repertoire et personne à part son propriétaire ne pourra le franchir.

Après peut être qu’on peut faire, mieux, d’ailleurs la prochaine fois je regarderais plus en détail ACL.