Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/12/2009, à 09:10

Rubz

[résolu]Casse tête gestion des droits utilisateurs

Bonjour à tous la communauté ! smile

Je me permet de faire appel à vous pour un petit casse tête de gestion des droits sur mon ubuntu serveur X64 9.10 fraichement installée par mes soins dans ma petite entreprise et dont je suis très très content ! big_smile


Pour résumer la situation, j'ai monté un serveur de fichiers avec samba, et mes users se connectent depuis des postes mac/windaube ( oups! big_smile)

Jusque la pas de soucis, tout fonctionne, je gère les droits depuis les utilisateurs unix.

Chaque user doit pouvoir accéder:

A des partages généraux ( espace d'échange commun) en lecture et écriture
A des partages qui sont propre a son groupe ( techniciens, secrétariat , compta, direction etc...) en lecture et écriture
A un espace de travail personnel et totalement privé  en lecture et écriture


Pour ce faire, j'ai donc mis chaque user dans 3 groupes:

-groupe général qui à accès aux partages généraux
-groupe spécifique ( ( techniciens, secrétariat , compta, direction etc...)
-groupe personnel ( groupe ou il ya un seul user du coup)

Bon mais me voila confronté à un ti prob roll

Toto1 va créer un fichier depuis sa session dans le répertoire commun, pour que Toto2 puisse le récupérer. Jusqu'ici ça va bien. Mais Toto2 ne veut pas  récupérer le fichier, il veut travailler directement sur le fichier de Toto1 ! big_smile Hors, quand Toto1 créé un fichier, ce fichier appartient à toto1, et par défaut il donne les droit en "lecture" au groupe "toto1"

Bon , pas de soucis, je vais donc pour chaque user un second groupe "user-perso" pour les répertoires perso, et je rattacherai tout le monde a chaque groupe user de tout le monde, comme ça tout le monde peut lire les fichiers créés par tout le monde !
big_smile

Oui MAIS, ( ben oui sinon ça serai pas drole hein ! tongue ) quand Toto1 créé un fichier, Toto2 peut le lire , puisqu'il appartient au groupe toto1, mais il ne peut pas l'ecrire ! En effet, quand toto1 créé un fichier, les droit attribués à ce fichier sont accès total en lecture et écriture pour le propriétaire, mais lecture seulement pour le groupe !

Donc en fait j'aimerai que les droits se mettent directement en " lecture et écriture" pour le groupe "toto1" à chaque création de fichier smile

Je suppose que la solution est toute bête mais je débute un peu dans le monde des partages , j'ai pas peur de mettre les mains dans le cambouis mais mes recherches sur le net n'ont rien donné de fructueux !

Désolé pour le pavé, mais je voulais être le plus clair possible, et je vous remercie d'avoir au moins pris le temps de me lire ! smile

A vous les studio ! cool

Dernière modification par Rubz (Le 15/12/2009, à 14:23)

Hors ligne

#2 Le 11/12/2009, à 09:32

seb0uil

Re : [résolu]Casse tête gestion des droits utilisateurs

Salut,
Ton pb semble être lié à la gestion des setGID bit.
En gros, tu as un répertoire commun. Pour cela, il faut le faire appartenir au groupe commun et placer un indicateur qui indique que les fichiers créés dans ce repertoire appartiennent au groupe auquel il appartient, et non au groupe principal de celui qui a créé le fichier.

regarde par exemple http://forum.ubuntu-fr.org/viewtopic.php?id=115095#p992107

de façon simplifié

chgrp grpe-commun /ton/rep/commun
chmod g+s /ton/rep/commun

Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#3 Le 11/12/2009, à 09:48

Balkoth

Re : [résolu]Casse tête gestion des droits utilisateurs

Bonjour,

La méthode donnée par sebOuil est recommandée, étant donnée qu'elle n'attribue les droits en écriture pour le groupe que pour le dossier concerné.

Sinon, pour faire exactement ce que tu demandes, il s'agit de la commande umask.

umask 012

pour automatiquement donner les droits en écriture pour le groupe pour les fichiers créés.
A modifier dans /etc/profile pour tout le monde, et dans ~/.profile pour une gestion par utilisateur.

Hors ligne

#4 Le 11/12/2009, à 11:15

Rubz

Re : [résolu]Casse tête gestion des droits utilisateurs

Bon merci pour vos réponses !! wink

Alors je reprend après lecture de vos réponses et de pas mal de choses sur wikipedia

Je fais ça :

chgrp grpe-commun /ton/rep/commun
chmod g+s /ton/rep/commun

1: Je place mon répertoire commun dans le groupe commun
2: J'applique à mon groupe le marqueur SGID qui permettra à tous les fichiers ou dossiers créés dans ce répertoire d'hériter des réglages du "dossier commun", et ainsi faire automatiquement parti du groupe "commun"

Ok , cela fonctionne. Les fichiers ou dossiers créés sont automatiquement affectés au groupe "commun" mais en lecture seule.

Donc je me dis, si le marqueur peut affecter fichier ou dossier à un groupe en particulier, il doit pouvoir lui faire aussi hériter de ses droits:

chmod g+rwS /ton/rep/commun

Je garde le marqueur SGUID( S pour conserver les droits en exécution) et je donne au groupe les droit en lecture ET ecriture

Sauf qu'a la création d'un nouveau fichier ou dossier, il conserve la lecture seule pour le groupe... sad

Donc soit j'ai pas saisie la logique du truc ( c'est fort probable !) soit je me plante de commande pour passer les droits d'un groupe sur un dossier ! smile

Hors ligne

#5 Le 11/12/2009, à 11:38

Balkoth

Re : [résolu]Casse tête gestion des droits utilisateurs

Bon, j'ai écrit un peu vite.
Le SGID sur le répertoire va imposer le groupe des fichiers créés dans ce répertoire, mais pas les droits de ces fichiers. Pour cela, il faut utiliser umask comme je l'ai indiqué.

Hors ligne

#6 Le 11/12/2009, à 11:52

seb0uil

Re : [résolu]Casse tête gestion des droits utilisateurs

Balkoth a écrit :

pour automatiquement donner les droits en écriture pour le groupe pour les fichiers créés.
A modifier dans /etc/profile pour tout le monde, et dans ~/.profile pour une gestion par utilisateur.

A verifier, par exemple, avec la console de gnome, c'est le fichier .gnomerc qui est lu, et pas le .profile

Autrement, effectivement, j'avais omis de le préciser, mais pour la gestion des droits, cela reste par le bon positionnement du umask, car si le fichier n'est pas modifiable par le groupe, ben c'est pas top ! tongue


Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#7 Le 11/12/2009, à 14:45

Rubz

Re : [résolu]Casse tête gestion des droits utilisateurs

bon je viens de passer le umask de /etc/profile à 007 pour voir... et j'ai mon serveur qui refuse de démarrer .... sad

Me voila avec juste une console en root... et impossible de modifier à nouveau le /etc/profile, il me dit qu'il est seulement lisible...

J'essai de me loguer avec mon user et re patatra : segmentation fault...

J'ai gagné ma journée... sad


EDIT: bon c'est résolu ouf... note pour ceux qui passeraient sur ce poste, ne JAMAIS toucher à la valeur umask de login.defs...:P

Bon ça me dit quand même pas ou je dois modifier cette valeur hmm

Dernière modification par Rubz (Le 11/12/2009, à 15:32)

Hors ligne

#8 Le 11/12/2009, à 17:34

Rubz

Re : [résolu]Casse tête gestion des droits utilisateurs

BON !

Dans la série je me suis pris le crane mais ça a porté ses fruits, me vla! big_smile


Je reprend depuis le début, des fois que d'autres soient confrontés au problème smile

Pour la problématique générale, voir mon premier post !

J'vais la faire sous forme d'histoire ! c'est plus marrant ! big_smile


Toto1 et Toto2 voulaient partager des fichiers, pour ce faire il ont acheté une zolie machine qui tourne sous tutux !

Mais voila, après avoir tout branché, et créé un "répertoire commun" dans samba avec les users et droits qui vont bien, toto1 s'aperçut que toto2 ne pouvait pas lire les fichiers qu'il créait dans " répertoire commun" ! lol ( l'es con ce toto quand même) alors qu'ils appartenaient tous les deux au "groupe commun" ! Toto2 réalisa alors que quand toto1 créait un fichier, celui-ci était automatiquement placé dans le groupe " toto1" et non dans le "groupe commun"! ( malin le toto 2 ! )

Ils se mirent alors en quête d'une solution et procédèrent ainsi.


Dans un premier temps, toto1, qui est root sur la tutux, affecta le "répertoire commun" au "groupe-commun" :

chgrp groupe-commun /ton/rep/commun

Ensuite, il appliqua à ce fameux "répertoire commun" le marqueur SGID qui permettra à tous les fichiers ou dossiers créés dans ce "répertoire commun" d'hériter des réglages du "répertoire commun", et ainsi faire automatiquement parti du "groupe-commun". ( plus d'info sur le " marqueur " SGID et pleins de choses intéressantes sur les droits unix ici ==> >>KIK ME<< , ben ouais toto2 il a que ça a foutre de faire des recherches sur google pendant que toto1 bosse !:P )

chmod g+s /ton/rep/commun

WAouuuuuuuuu ayé !!! Toto2 peux enfin lire directement sur le serveur le fichier jadorepassermesaprèmdanslesdroitsunix.txt créé par toto1 ! big_smile

"Houla mais je vois que tu as fait une petite erreur ligne 243526255 toto1 ! Ne bouge pas , je vais modifier ça de mon poste ! " dis toto2

Et la... c'est le drame ! (comprenne qui pourra! cool )

Et oui , si toto2 peut dorénavant "lire" les fichiers de toto1, il ne peut en revanche pas "écrire"  les fichiers de Toto1 !

En effet le marqueur SGID permet de placer directement tout fichier ou répertoire dans le "groupe commun" mais le fichier nouvellement créé n'hérite pas de ses droits !! il reste en lecture seule.

Mais toto2 qui a eu le temps de faire quelques recherches sur le net et notamment passer sur forum ubuntu tiens la solution: L'umask  ( Plus d'infos ici==> >>KIK ME<< )

" et ca se renseigne ou ton ZE mask la? " dis toto1
"Ben je sais pas, vu la logique surement dans /etc/profile"

Toto1, toujours maitre sur la machine, édita alors le fichier et plaça la valeur 007 pour l'umask de tous les users.( ce qui revient a rwxrwx---)

" Ouais ben ça marche pas, ça va finir par la fenêtre cette histoire ! "
"hé sinon, t'es allé voir dans le fichier de conf de samba?"
"ha ben non tiens j'y vais"

Toto1 edita le smb.conf et y trouva ces quelques lignes magiques:

# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
 ;  create mask = 0700

# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
 ;  directory mask = 0700

Par défaut les valeurs sont à 0700 ( soit rwx------), on passe le tout à 0770 ( soit rwxrwx---) ou autre suivant ce que l'on veut, sauvegarde du fichier et zou !

"ouais mais ça fonctionne toujours pas la!" dis toto1
"normal t'as pas relancé samba"dis toto2
" quoi tu veux que je danse la samba???" dis toto1
" mais nan relance le serveur couillon de geek !"

/etc/init.d/samba restart

Et la toto1 et toto2 , dans l'allégresse général, partir fêter ça au bar du coin car il était maintenant l'heure de l'apéro !:lol:




Bon, il reste cependant un souci majeur

Les manips ci dessus fonctionnent pour deux users connecté a distance sur le serveur depuis un poste windows. Dans ce cas la c'est bien les mask du smb.conf qui prennent la main et tout va bien.

Mais si toto1, logué en user normal sur tutux veut créer un fichier dans le partage directement, ni le umask de /etc/profile, ni celui renseigné dans /home/toto1/.profile ne fonctionne... meme après reboot total de la machine.

Le umask reste invariablement à 022..... Donc si quelqu'un sait comment modifier ça smile

à vous les studios! cool

Hors ligne

#9 Le 11/12/2009, à 17:47

kyncani

Re : [résolu]Casse tête gestion des droits utilisateurs

Tu peux mettre le partage dans un répertoire accessible à root uniquement et monter le partage via samba sur la machine locale.
Comme ça, tous les accès se feront obligatoirement par samba et non par le système de fichiers local.

Hors ligne

#10 Le 11/12/2009, à 17:53

fabux

Re : [résolu]Casse tête gestion des droits utilisateurs

Salut,

j'ai survolé le thread (c'est pas bien, je sais tongue ), du coup je ne sais pas si ce thread pourrais te servir...

Hors ligne

#11 Le 11/12/2009, à 18:06

Balkoth

Re : [résolu]Casse tête gestion des droits utilisateurs

Rubz, j'aime beaucoup ta façon de raconter lol

Tu n'as pas testé avec le .gnomerc ?

sebOuil a écrit :

A verifier, par exemple, avec la console de gnome, c'est le fichier .gnomerc qui est lu, et pas le .profile

Hors ligne

#12 Le 15/12/2009, à 09:45

Rubz

Re : [résolu]Casse tête gestion des droits utilisateurs

Balkoth a écrit :

Rubz, j'aime beaucoup ta façon de raconter lol

Tu n'as pas testé avec le .gnomerc ?

sebOuil a écrit :

A verifier, par exemple, avec la console de gnome, c'est le fichier .gnomerc qui est lu, et pas le .profile

En fait je n'ai jamais trouvé le .gnomerc ! big_smile

Je sais pas ou il se cache pourtant j'ai exploré tout mon disque lol

Hors ligne

#13 Le 15/12/2009, à 10:01

Balkoth

Re : [résolu]Casse tête gestion des droits utilisateurs

S'il n'existe pas, il faut le créer smile
Il faut le mettre dans le dossier utilisateur, comme le .profile.

Hors ligne

#14 Le 15/12/2009, à 10:13

Rubz

Re : [résolu]Casse tête gestion des droits utilisateurs

Balkoth a écrit :

S'il n'existe pas, il faut le créer smile
Il faut le mettre dans le dossier utilisateur, comme le .profile.

J'ai un peu de mal a comprendre comment un fichier qui n'existe pas peut être pris comme fichier de conf au lancement de gnome.... hmm Si gnomerc nexiste pas, gnome doit forcément utiliser un autre fichier pour définir le umask non? hmm

Hors ligne

#15 Le 15/12/2009, à 10:34

Balkoth

Re : [résolu]Casse tête gestion des droits utilisateurs

Le fichier est pris en compte uniquement s'il existe, lors du lancement de la session gnome.
S'il n'existe pas, le umask par défaut ne sera pas changé.

Hors ligne

#16 Le 15/12/2009, à 10:38

Rubz

Re : [résolu]Casse tête gestion des droits utilisateurs

Oki dacc jva tester ! Je peux copier coller le .profile? le contenu est identique? smile

Hors ligne

#17 Le 15/12/2009, à 11:22

Balkoth

Re : [résolu]Casse tête gestion des droits utilisateurs

Pas la peine, juste une ligne avec umask 007 suffira.

Hors ligne

#18 Le 15/12/2009, à 11:29

Rubz

Re : [résolu]Casse tête gestion des droits utilisateurs

Yeahhhh ça fonctionne nikouel !!! big_smile

Bon ben vala mes soucis de droits résolus et je me coucherai moins bête ce soir ! Merki les gens ! wink

Hors ligne