Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 07/07/2013, à 09:43

benoitouho

Droits pour les sous dossiers [Résolu]

Bonjour,

Je suis prof, et J'ai crée un petit réseau dans mon lycée.
Les élèves entre sur le reseau grace a un login et mot de passe générale à toute la classe. Ca évite en fin d'année a rentrer tous le monde.
Les élèves n'ont accès qu'a leur dossier classe. Ensuite ils créent un dossier à leur nom, dans lequel ils enregistrent leur travail.
Les profs se connectent sous leurs identifiant. J'ai crée un groupe profs.
Mon problème :
Quand les élèves créent leur dossier personnels, les profs ne peuvent y accéder sous leur nom. Par contre ils peuvent accéder au dossier classe.
Les sous-dossiers étant la propriété du groupe classe qui le créé.
J'ai essayé de modifier les droits  et les propriétaire avec chmod -R et et chown -R en rajoutant le groupe profs.
Ca fonctionne très bien si les élèves ont déjà créés leurs sous dossier.
Par contre, si je veux anticiper et mettre des droits aux sous dossiers avant qu'ils ne soient créés, ça ne fonctionne pas.
Est-il possible de donner des droits à un deuxièmes groupe sur un dossier et ses sous dossier sans que ceux ci soient créés ?

Merci pour vos réponses.

Dernière modification par benoitouho (Le 30/07/2013, à 07:02)

Hors ligne

#2 Le 07/07/2013, à 10:10

ssdg

Re : Droits pour les sous dossiers [Résolu]

pourquoi ne pas ajouter le groupe classe à l'identifiant du prof? (je ne sais pas de tête comment on fait, mais cela se fait très rapidement en mode graphique et le fichier /etc/group est assez simple à utiliser (je crois que c'est encore mieux de le faire avec le programme vigr)


s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.

Hors ligne

#3 Le 07/07/2013, à 10:24

benoitouho

Re : Droits pour les sous dossiers [Résolu]

Ca semble séduisant comme idée.
Si je comprends bien, je peux intégrer au groupe prof le groupe eleve. Ainsi, à la connexion, le prof aura ces propre droits ainsi que tous ceux des élèves.
Si c'est ça, parfait.
Heuuu, comment on fait ??

Hors ligne

#4 Le 08/07/2013, à 10:16

ssdg

Re : Droits pour les sous dossiers [Résolu]

à l'utilisateurs (aux utilisateurs) profs, le groupe eleve en fait.

Hum... je crois qu'il faut éditer le dossier /etc/passwd pour mettre le "groupe par défaut" à "[classe]" (si tu as un compte pour toute la classe, ça devrait déjà être fait, mais il faut vérifier.

Ensuite, dans le fichier /etc/group ajouter le nom du prof au groupe "[classe]".

Une petite recherche dans google,un "man 5 passwd"  et un "man 5 group" devraient tout te dire.


s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.

Hors ligne

#5 Le 09/07/2013, à 01:26

benoitouho

Re : Droits pour les sous dossiers [Résolu]

Merci.
Je vais essayer cette solution, et je vous tiens au courant.

Hors ligne

#6 Le 10/07/2013, à 03:34

benoitouho

Re : Droits pour les sous dossiers [Résolu]

Bonjour,
ça n'a pas fonctionné...
Mais je me rends compte que je n'ai pas été assez complet dans la description du problème.
J'ai donc un serveur, qui tourne sur Ubuntu, et par Samba je gere un réseau d'ordinateur portable sous Windows Seven.
On est 5 profs, chacun a son identifiant, et j'ai créé un groupe "prof" qui nous regroupe tous les cinq.
Pour les élèves, j'ai créé un compte par classe, qui ouvre des droits pour aller ecrire, lire et exécuter dans le dossier de la classe.
Sur ce dossier, j'ai l'utilisateur classe (par exemple seconde_S) comme propriétaire, et le groupe prof en secondaire.
Les élèves de cette classe viennent créer des dossiers à leur nom, qui ont donc comme propriétaire l'utilisateur classe (seconde_S). Et à partir de ce moment, le groupe prof n'a plus le droit d'ouvrir les sous dossiers au nom des élèves. En utilisant chown -R j'arrive a redonner les droits, mais qu'après la création des sous fichiers. Je voudrais que les profs puissent accéder à tout les sous dossier de classe.
J'ai essayé comme le préconise ssdg de mettre le groupe prof au travers du fichier etc/group.
Ca ne fonctionne pas.

Auriez vous des idées ?
Merci.

Hors ligne

#7 Le 10/07/2013, à 04:36

pingouinux

Re : Droits pour les sous dossiers [Résolu]

Bonjour,
Un fichier ou un dossier a un propriétaire, et appartient à un seul groupe. Pour que les profs puissent accéder aux dossiers des élèves (appartenant au groupe classe_S), il faut que classe_S soit un groupe secondaire de chacun des profs (prof1, prof2…). Il faut aussi que les fichiers et dossiers créés par les élèves aient les bonnes permissions pour le groupe (classe_S).

Hors ligne

#8 Le 10/07/2013, à 07:07

ssdg

Re : Droits pour les sous dossiers [Résolu]

Je crois que tout les profs font partie d'un groupe commun. C'est ce groupe commun qui a accès au dossiers.

Le problème est que les fichiers sont crées (par samba?) avec des droits qui ne sont pas "g+rwX" et un groupe d'utilisateurs qui n'est pas "[groupe des profs]"

Sinon, il n'y aurait pas une option pour faire ça dans samba?


s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.

Hors ligne

#9 Le 10/07/2013, à 08:07

benoitouho

Re : Droits pour les sous dossiers [Résolu]

Les profs sont un groupe.
Par contre, la classe est un utilisateur.
Dans Samba, j'ai créé mes utilisateurs, et regrouper les profs.
Sur le serveur, j'ai crée une arborescence de dossier classes, dont le propriétaire principale est l'utilisateur classe, et le secondaire le groupe "profs".
Quand je me connecte comme prof, j'ai ainsi accès à tous les dossier classe, par contre je n'ai pas accès au sous dossier qui ont été crée avec l'utilisateur "classe", puisqu'ils ne sont plus qu'avec le propriétaire principale "classe".
Je peux modifier cela avec chown et chmod, mais il faut que le fasse seulement quand des sous dossiers ont été créé.

Je n'ai pas trouvé dans Samba de methode pour faire ça.
Je me demande si le probleme ne vient pas du fait que les classes sont des utilisateurs auquel je veux adjoindre un groupe ?

Hors ligne

#10 Le 10/07/2013, à 11:18

pires57

Re : Droits pour les sous dossiers [Résolu]

bonjour, peut tu renvoyer les droits de ton dossier avec la commande

ls -l

Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.

Hors ligne

#11 Le 10/07/2013, à 12:49

Postmortem

Re : Droits pour les sous dossiers [Résolu]

Salut,
Si j'ai bien compris, tu as des utilisateurs prof1, prof2, prof3 etc... qui ont comme groupe principal profs.
Ensuite, tu as des utilisateurs classe1, classe2, classe3 etc qui ont comme groupe principal classes.
On est d'accord ?

Tu parles d'un dossier qui a un propriétaire principal et un propriétaire secondaire... Ça n'existe pas ça. Un dossier/fichier a un utilisateur propriétaire et un groupe propriétaire.

Si ce que j'ai posé au début de ce message est bon, si tu créés un fichier/dossier avec par exemple l'utilisateur prof1, ce fichier/dossier aura comme utilisateur propriétaire prof1 et comme groupe propriétaire profs.
De même, si l'utilisateur classe1 créé un fichier/dossier, ce dernier aura comme utilisateur propriétaire classe1 et comme groupe proprietaire classes.

Pour que prof1, prof2 et prof3 accèdent à un fichier/dossier créé par l'utilisateur classe1 par exemple, il faut ajouter les utilisateurs prof1, 2 et 3 au groupe classes.

En effet, un utilisateur appartient à un groupe principal et peux faire parti de groupes secondaire.

Tu pourrais nous poster le résultat des commandes suivantes, on pourra ainsi t'indiquer quoi faire plus précisément :

id prof1
id prof2
id classe1
id classe2
ls -la /chemin/dossier_classe

Édit :
Sinon, plus simplement, tu attribues le droit setgid aux dossiers classes. Ainsi, les fichiers et dossiers créés dans le dossier classe auront le même groupe que le dossier classe :

chmod g+s /chemin/seconde_S

Dernière modification par Postmortem (Le 10/07/2013, à 22:59)


Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#12 Le 11/07/2013, à 09:29

benoitouho

Re : Droits pour les sous dossiers [Résolu]

Bonjour !
Le probleme, c'est que le serveur est au lycée, je ne peux donc pas tester immédiatement vos suggestions. De plus, je suis en Nouvelle Caledonie, ce qui implique un bon décalage horaire...
Ceci dit, j'ai donc fait la commande ls -l sur mes fichiers.
Donc, dans l'ordre....

profs est un groupe qui réunie tous les profs.
Chaque classe est un utilisateur unique, et ne sont pas regroupés.
Un élève d'une classe, ce connecte avec un login de la classe, unique pour tous les élèves de cette classe.
Cette connexion lui permet d’accéder à son dossier classe, auquel j'ai ajouté par "chmod g+rwx" le groupe profs.
donc, par "ls -l" sur le dossier classe, j'ai :

drwxrwx--- 2 classe_1 profs

Les profs accèdent donc sans problème à ce dossier.
Le problème vient quand les élèves, connectés avec l'utilisateur classe_1 crée un dossier dans le dossier classe_1.
Si je fais ls -l, j'obtiens
drwx------ classe_1
Donc les profs n'y ont pas accès.
J'ai essayé  "chmod -R g+rwx"
Ca fonctionne, mais seulement sur les sous dossiers déjà créés.

Je voudrais que systématiquement les profs est accès à tous les niveaux de sous dossiers du répertoire classe_1, et des autres, même si les dossier ne sont pas encore créés....

A postmortem, je n'ai pas pu essayer chmod g+s. Je le tente dés que possible. De meme pour les id.

En tous cas, merci pour votre aide.

Hors ligne

#13 Le 11/07/2013, à 12:08

Postmortem

Re : Droits pour les sous dossiers [Résolu]

Salut,
Vu ton précédent message, il faut faire :

chown -R :profs classe_1
chmod -R ug=rwX,o= classe_1
find classe_1 -type d -exec chmod g+s '{}' \;

Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#14 Le 18/07/2013, à 07:57

benoitouho

Re : Droits pour les sous dossiers [Résolu]

bonjour,

Alors, j'ai essayé les deux méthodes de Postmortem.
Les droits setgid ont mis un S dans les droits, mais ça n'a rien changer.
La deuxième méthode fonctionne, mais seulement sur les fichier existant.
Donc, ça reviens au même que de faire  "chmod -R g+rwx"
Par contre, après la commande :
find classe_1 -type d -exec chmod g+s '{}' \;
j'obtiens en retour un curseur de ce type ">", et plus le "$".
Comme je n'ai pas bien compris la signification de la dernière ligne, je ne sais pas si j'ai bien fait...

Donc me revoilà au meme point.
Je peux mettre des droits à un groupe sur des sous dossiers-existant créés par un utilisateur classe, mais ses droits ne s'étendent pas au nouveaux sous dossiers ou fichiers créés après avoir fait l'instruction  "chmod -R g+rwx".

Si vous avez de nouvelles idées, ou des corrections sur se que j'ai fait précédement, je suis preneur.

Merci.

Hors ligne

#15 Le 18/07/2013, à 08:48

ssdg

Re : Droits pour les sous dossiers [Résolu]

autant pour le chgrp,  je n'ai pas trouvé tout de suite, autant pour le chmod :
http://www.samba.org/samba/docs/using_samba/ch09.html

(create mode et directory mode)


s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.

Hors ligne

#16 Le 19/07/2013, à 00:10

Postmortem

Re : Droits pour les sous dossiers [Résolu]

Salut,
J'ai le dossier classe_S qui appartient à l'utilisateur classe1 et au groupe prof1 :

classe1@mon_pc:/tmp/test$ ls -l
total 4
drwxrwx--- 2 classe1 prof1 4096 juil. 19 00:43 classe_S

Le groupe principal de classe1 est classe1, et le groupe principal de prof1 est prof1 (le nom d'utilisateur et de groupe sont les mêmes par défaut sur ubuntu, ça peut prêter à confusion mais ce sont bien 2 choses différentes ! ) :

classe1@mon_pc:/tmp/test/classe_S$ id classe1
uid=1001(classe1) gid=1001(classe1) groupes=1001(classe1),46(plugdev)
classe1@mon_pc:/tmp/test/classe_S$ id prof1
uid=1000(prof1) gid=1000(prof1) groupes=1000(prof1),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),107(lpadmin),124(sambashare)

Si je vais créer un fichier et un répertoire avec l'utilisateur classe1 dans le dossier classe_S, le fichier et le répertoire auront comme utilisateur classe1 et comme groupe classe1 :

classe1@mon_pc:/tmp/test/classe_S$ touch fichier1
classe1@mon_pc:/tmp/test/classe_S$ mkdir rep1
classe1@mon_pc:/tmp/test/classe_S$ ls -l
total 4
-rw-rw-r-- 1 classe1 classe1    0 juil. 19 00:45 fichier1
drwxrwxr-x 2 classe1 classe1 4096 juil. 19 00:45 rep1

Maintenant, si je vais donner le droit setgid au répertoire classe_S, les fichiers et répertoires créés à l'intérieur prendront le même groupe que le répertoire classe_S :

prof1@mon_pc:/tmp/test$ sudo chmod g+s classe_S
prof1@mon_pc:/tmp/test$ ls -l
total 4
drwxrws--- 3 classe1 prof1 4096 juil. 19 00:48 classe_S

Maintenant, si l'utilisateur classe1 vient recréer quelque chose dans classe_S :

classe1@mon_pc:/tmp/test/classe_S$ touch fichier2
classe1@mon_pc:/tmp/test/classe_S$ mkdir rep2
classe1@mon_pc:/tmp/test/classe_S$ ls -l
total 8
-rw-rw-r-- 1 classe1 classe1    0 juil. 19 00:45 fichier1
-rw-rw-r-- 1 classe1 prof1      0 juil. 19 00:50 fichier2
drwxrwxr-x 2 classe1 classe1 4096 juil. 19 00:45 rep1
drwxrwsr-x 2 classe1 prof1   4096 juil. 19 00:50 rep2

Par contre, il faudrait que la création de fichiers et dossiers via samba pour l'utilisateur classe1, donne des droits g=rx au moins pour que l'utilisateur prof1 puisse les lire.


Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#17 Le 23/07/2013, à 06:24

benoitouho

Re : Droits pour les sous dossiers [Résolu]

Merci beaucoup pour vos réponses !

Postmortem, j'ai repris entièrement ta procédure.
Donc, à la commande id classe_1, j'ai :
uid=1023(classe_1) gid=1030 (classe_1) groupes=1030 (classe_1), 1035 (eleves)
Pour id profs, j'ai utilisateurs inexistant. Ce qui est normal, profs n'est qu'un groupe de tous les utilisateurs profs.
J'applique  sudo chmod g+s classe_1
et je crée un dossier test.
Par ls -l, j’obtiens :
drwx--s--- classe_1 profs sur mon dossier test.
Tous les sous dossiers que je crée ensuite ont bien comme groupe "profs".
Par contre, comme vous le voyez, je n'ai pas les droits rwx pour le groupe profs.

D'ailleurs, vous l'aviez anticipé en prévenant :"Par contre, il faudrait que la création de fichiers et dossiers via samba pour l'utilisateur classe1, donne des droits g=rx au moins pour que l'utilisateur prof1 puisse les lire."

C'est en effet tout mon problème. Il faut que ces droits soient donné au groupe automatiquement à la création.
Et je n'ai pas trouvé comment faire ça, y compris dans la doc de ssdg. Mais mon anglais peut avoir raté quelques subtilités...

En résumé, j'ai quand meme progressé, puisque tous les fichiers ou dossiers crées ont un groupe profs.
Mais je bloque toujours sur l'obtention automatique des droits pour le groupe.

Merci pour votre aide.

Hors ligne

#18 Le 29/07/2013, à 22:25

trxxrt

Re : Droits pour les sous dossiers [Résolu]

Édite /etc/samba/smb.conf smile !

create mask = 0750    # Fichiers
directory mask = 750  # Répertoires


KDE 4ever <3 !
sudo apt-get install apt-get && sudo apt-get remove --purge "windows vista" :D

Hors ligne

#19 Le 30/07/2013, à 06:59

benoitouho

Re : Droits pour les sous dossiers [Résolu]

EUREKA !!

Merci à postmortem pour la solution chmod g+s classe_1 qui m'a permis de mettre le groupe profs en groupe sur tous les répertoires et sous répertoire, même ceux qui seront créés dans le futur.

Et merci a trxxrt pour sa solution.
Je suis aller dans le fichier conf, et j'ai mis dans le répertoire parent de toute les classes :
create mask = 0770
directory mask = 770

Et ça fonctionne très bien pour tous les dossiers et fichiers créés après la manip.

Merci à tous.

Hors ligne

Haut de page ↑