Gestion des groups
Résolu/Fermé
Zebuuu
Messages postés
19
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
4 décembre 2012
-
3 déc. 2012 à 17:14
mamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 - 4 déc. 2012 à 10:38
mamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 - 4 déc. 2012 à 10:38
A voir également:
- Gestion des groups
- Logiciel gestion photo gratuit - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Logiciel gestion cave à vin gratuit excel - Télécharger - Cuisine & Gastronomie
- Gestion autorisation application android - Guide
- Logiciel gestion association gratuit excel - Télécharger - Gestion de projets
5 réponses
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
3 déc. 2012 à 20:51
3 déc. 2012 à 20:51
Je ne pense pas qu'utiliser des utilisateurs et groupes linux soit justifié dans ton cas, car ça te forcera à gérer tous les cas tordus genre un utilisateur qui décise de créer un profil appelé root. Personnellement je pense que tu devrais utiliser un système d'authentification dédié pour savoir qui s'authentifie et avec quels mots de passe. On peut imaginer que ces mots de passe soient par exemple stocké dans une base de donnée.
Ensuite en imaginant que ton projet s'appelle fb2, ce serait logique que les données relatives à ce service soient dans /var/lib/fb2 et que cette arborescence ne soit manipulable que par un utilisateur fb2 (qui serait l'utilisateur qui lance ton service). Finalement quand tu regardes comment marche par exemple un serveur mysql c'est exactement ce qui se passe : ses données sont dans /var/lib/mysql, appartiennent à l'utilisateur mysql, et le service mysql est lancé par cet utilisateur mysql.
Enfin je pense que dans ton cas le système de droits POSIX que tu as sous linux peut être rapidement limité, car finalement un fichier n'appartient qu'à un utilisateur et un groupe. Le modèle adopté dans des droits ACL est par exemple beaucoup plus souple, et si tu dois faire un système de droits, il me paraît plus flexible. À toi de voir si tu veux ensuite les stocker dans une base ou pas, et contrôler à chaque fois qu'un utilisateur si cet accès est conforme en terme de droits...
http://doc.ubuntu-fr.org/acl
Après je pense que ça vaut le coup de se renseigner et voir si des solutions clé en main n'existent pas sous linux pour répondre à ce genre de besoin.
Ensuite en imaginant que ton projet s'appelle fb2, ce serait logique que les données relatives à ce service soient dans /var/lib/fb2 et que cette arborescence ne soit manipulable que par un utilisateur fb2 (qui serait l'utilisateur qui lance ton service). Finalement quand tu regardes comment marche par exemple un serveur mysql c'est exactement ce qui se passe : ses données sont dans /var/lib/mysql, appartiennent à l'utilisateur mysql, et le service mysql est lancé par cet utilisateur mysql.
Enfin je pense que dans ton cas le système de droits POSIX que tu as sous linux peut être rapidement limité, car finalement un fichier n'appartient qu'à un utilisateur et un groupe. Le modèle adopté dans des droits ACL est par exemple beaucoup plus souple, et si tu dois faire un système de droits, il me paraît plus flexible. À toi de voir si tu veux ensuite les stocker dans une base ou pas, et contrôler à chaque fois qu'un utilisateur si cet accès est conforme en terme de droits...
http://doc.ubuntu-fr.org/acl
Après je pense que ça vaut le coup de se renseigner et voir si des solutions clé en main n'existent pas sous linux pour répondre à ce genre de besoin.
Zebuuu
Messages postés
19
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
4 décembre 2012
3 déc. 2012 à 23:23
3 déc. 2012 à 23:23
Alala j'étais parti dans de la dev pas propre. Mais les acl ça me sauve la vie.
Si j'ai bien compris les acl ;
Soit 3 user toto tutu titi avec leurs dossiers respectifs dans le dossier de mon appli :
On considère que toto a pour ami tutu mais pas titi
A la création du profil de toto mon script fait :
Ce la veut dire que tutu a accès au dossier de toto mais pas titi et cela sans éditer /etc/group.
Non?
Ensuite tu parles de /var/lib/ , ce qui donnerait /var/lib/mon_projet/toto
J'étais parti sur le repertoire /usr/share en ayant lu https://www.commentcamarche.net/contents/1143-unix-les-fichiers comme ça chaque utilisateur à accès au repertoire mon_projet.
Je ne comprend pas trop si je devrais le laisser dans /usr/share (voire /usr/local/share je capte pas la différence si le local on parle d'utilisateur ou de la machine) ou le mettre comme tu dis dans /var/lib.
J'aimerai que ça soit stocké dans un endroit où ça risque pas de disparaitre lors d'une maj ou autre ou que ca fasse merder l'os.
Concernant le stockage des mdp dans une BD ça peut être pas mal mais je pense pas que mon projet est l'envergure pour et je ne pense pas en avoir le temps, mais je note, ça me resservira quand même plus tard.
J'ai choisi une solution simple :
Quand je crée, modifie, supprime,..... mon profil : Si je suis sur la bonne session ok sinon un
Comme ça chaque utilisateur ne peut avoir qu'un profil du même nom et je ne peux modifier que le mien^^ (eh oui dommage).
En tout cas un grand merci à toi mamiemando.
Si j'ai bien compris les acl ;
Soit 3 user toto tutu titi avec leurs dossiers respectifs dans le dossier de mon appli :
On considère que toto a pour ami tutu mais pas titi
A la création du profil de toto mon script fait :
mkdir /mon_appli/toto chmod 600 /mon_appli/toto setfacl -m u:tutu:r /mon_appli/toto tutu
Ce la veut dire que tutu a accès au dossier de toto mais pas titi et cela sans éditer /etc/group.
Non?
Ensuite tu parles de /var/lib/ , ce qui donnerait /var/lib/mon_projet/toto
J'étais parti sur le repertoire /usr/share en ayant lu https://www.commentcamarche.net/contents/1143-unix-les-fichiers comme ça chaque utilisateur à accès au repertoire mon_projet.
Je ne comprend pas trop si je devrais le laisser dans /usr/share (voire /usr/local/share je capte pas la différence si le local on parle d'utilisateur ou de la machine) ou le mettre comme tu dis dans /var/lib.
J'aimerai que ça soit stocké dans un endroit où ça risque pas de disparaitre lors d'une maj ou autre ou que ca fasse merder l'os.
Concernant le stockage des mdp dans une BD ça peut être pas mal mais je pense pas que mon projet est l'envergure pour et je ne pense pas en avoir le temps, mais je note, ça me resservira quand même plus tard.
J'ai choisi une solution simple :
Quand je crée, modifie, supprime,..... mon profil : Si je suis sur la bonne session ok sinon un
su nom_user.
Comme ça chaque utilisateur ne peut avoir qu'un profil du même nom et je ne peux modifier que le mien^^ (eh oui dommage).
En tout cas un grand merci à toi mamiemando.
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
4 déc. 2012 à 10:13
4 déc. 2012 à 10:13
Ce la veut dire que tutu a accès au dossier de toto mais pas titi et cela sans éditer /etc/group.
Les droits ACL c'est effectivement un moyen de définir des accès par utilisateur sans avoir à gérer des groupes improbables. Après je ne connais pas la syntaxe par coeur mais en créant quelques utilisateurs tu verras bien qui peut accéder au fichier ou non.
J'aimerai que ça soit stocké dans un endroit où ça risque pas de disparaitre lors d'une maj ou autre ou que ca fasse merder l'os.
/usr/local/lib alors.
Concernant le stockage des mdp dans une BD ça peut être pas mal mais je pense pas que mon projet ait l'envergure pour
Tu peux te contenter d'un fichier texte chiffré alors à la htaccess et qui repose sur la commande htpasswd. Ceci dit installer un base ça n'a rien de fantastique et tu en as des plus ou moins "lourdes" par exemple sqlite3 peut suffire dans ton cas.
Quand je crée, modifie, supprime,..... mon profil : Si je suis sur la bonne session ok sinon un su nom_user
Attention, car sur certaines distributions (genre gentoo) tout le monde ne peut pas faire un "su" il faut être dans le groupe wheel. Sous ubuntu la commande su n'est pas lançable par défaut par un utilisateur sauf par le biais d'un sudo (et seuls les sudoers peuvent utiliser la commande sudo). Plus de détails ici :
http://www.mistra.fr/tutoriel-linux-profils-et-droits.html
Et attention car même si tu bénéficies des droits ACL et d'un système de création clé en main avec des utilisateurs linux, tu peux avoir des collisions entre les utilisateurs de ton "fb2" et les utilisateurs du système (root, mysql, etc...) et les utilisateurs locaux à la machine (genre ton profil utilisateur). Peut-être qu'une piste serait de travailler dans un environnement chrooté pour lever ce problème. La commande chroot permet de repositionner un shell dans une arborescence (par exemple si dans /aaa/bbb tu arrives à constituer une arborescence linux suffisante, tu peux faire chroot /aaa/bbb).
Un exemple concret de chroot : mon linux est cassé, je démarre sur un live CD, je monte la partition / du disque dur dans /media/linux. Alors je peux faire chroot /media/linux et faire "comme si" j'avais démarré normalement. Cela suppose que certaines choses existent dans cette arborescence (par exemple un shell) si le chroot va échouer.
En tout cas un grand merci à toi mamiemando.
De rien :-)
Bonne chance
Les droits ACL c'est effectivement un moyen de définir des accès par utilisateur sans avoir à gérer des groupes improbables. Après je ne connais pas la syntaxe par coeur mais en créant quelques utilisateurs tu verras bien qui peut accéder au fichier ou non.
J'aimerai que ça soit stocké dans un endroit où ça risque pas de disparaitre lors d'une maj ou autre ou que ca fasse merder l'os.
/usr/local/lib alors.
Concernant le stockage des mdp dans une BD ça peut être pas mal mais je pense pas que mon projet ait l'envergure pour
Tu peux te contenter d'un fichier texte chiffré alors à la htaccess et qui repose sur la commande htpasswd. Ceci dit installer un base ça n'a rien de fantastique et tu en as des plus ou moins "lourdes" par exemple sqlite3 peut suffire dans ton cas.
Quand je crée, modifie, supprime,..... mon profil : Si je suis sur la bonne session ok sinon un su nom_user
Attention, car sur certaines distributions (genre gentoo) tout le monde ne peut pas faire un "su" il faut être dans le groupe wheel. Sous ubuntu la commande su n'est pas lançable par défaut par un utilisateur sauf par le biais d'un sudo (et seuls les sudoers peuvent utiliser la commande sudo). Plus de détails ici :
http://www.mistra.fr/tutoriel-linux-profils-et-droits.html
Et attention car même si tu bénéficies des droits ACL et d'un système de création clé en main avec des utilisateurs linux, tu peux avoir des collisions entre les utilisateurs de ton "fb2" et les utilisateurs du système (root, mysql, etc...) et les utilisateurs locaux à la machine (genre ton profil utilisateur). Peut-être qu'une piste serait de travailler dans un environnement chrooté pour lever ce problème. La commande chroot permet de repositionner un shell dans une arborescence (par exemple si dans /aaa/bbb tu arrives à constituer une arborescence linux suffisante, tu peux faire chroot /aaa/bbb).
Un exemple concret de chroot : mon linux est cassé, je démarre sur un live CD, je monte la partition / du disque dur dans /media/linux. Alors je peux faire chroot /media/linux et faire "comme si" j'avais démarré normalement. Cela suppose que certaines choses existent dans cette arborescence (par exemple un shell) si le chroot va échouer.
En tout cas un grand merci à toi mamiemando.
De rien :-)
Bonne chance
Zebuuu
Messages postés
19
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
4 décembre 2012
4 déc. 2012 à 10:23
4 déc. 2012 à 10:23
Merci pour le lien je vais étudier ça
Pour les ACL ca marche impec.
Je passe en résolu
Encore un grand merci à toi pour tout tes conseils ça m'a été grandement utile
Pour les ACL ca marche impec.
Je passe en résolu
Encore un grand merci à toi pour tout tes conseils ça m'a été grandement utile
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
4 déc. 2012 à 10:38
4 déc. 2012 à 10:38
Parfait, bonne continuation et à bientôt :-)