Les autorisations du groupe Debian/Linux ne fonctionnent pas comme elles sont censées le faire

StackOverflow https://stackoverflow.com//questions/10679937

Question

Je travaille sur le projet BOINC.

J'ai deux utilisateurs :boincadm et www-data (pour Apache).Tous deux appartiennent au groupe Boinc

www-data : boinc www-data boincadm
boincadm : boinc adm dialout fax cdrom floppy tape audio dip www-data video plugdev netdev bluetooth lpadmin fuse scanner sambashare subversion

J'ai un projet BOINC créé dans / home / bincadm / projects / myproject / tous les fichiers et dossiers il y a la propriété de BOINCADM:boinc et avoir les autorisations rwxrwx ---.

Le problème est que l'utilisateur de www-data ne peut pas accéder aux fichiers, ce qui provoque plusieurs erreurs telles que :

Avertissement:require_once(../inc/db.inc):échec de l'ouverture du flux :Autorisation refusée dans /home/boincadm/projects/myproject/html/user/index.php

Erreur fatale:Demandez une fois():Échec de l'ouverture requise '../inc/db.inc' (include_path='.:/usr/share/php:/usr/share/pear') dans /home/boincadm/projects/myproject/html/user/index. php

ou juste

Impossible d'accéder au fichier XXX

dans les journaux..

SI je change grant rwx en "autres" (777), cela fonctionne.

Ma question est la suivante : pourquoi les autorisations de groupe ne fonctionnent-elles pas comme prévu ?Des idées?

Je ne suis pas un expert en Linux, je pourrais donc rater quelque chose.

Était-ce utile?

La solution 2

Voici comment je l'ai résolu :

Tout d'abord j'ai lu ceci :lienÀ un moment donné, cet article mentionnait le fichier /etc/group où les informations sur les groupes sont stockées.

J'ai ouvert ce fichier et mentionné que malgré mes actions précédentes, il n'y a aucun www-data en groupe boinc.Et non www-data en groupe boincadm et le contraire.C'est étrange!Étrange car j'ai ajouté ces utilisateurs au groupe boinc en utilisant usermod commande et je me suis assuré que ce groupe est principal pour les deux.De plus commande groups <username> ont montré qu'ils étaient en groupe boinc.

Alors maintenant la question est : Pourquoi est-ce arrivé ?

Le problème a été résolu en modifiant 3 lignes :

boinc:x:1111:boincadm, www-data
boincadm:x:1112:boincadm, www-data
www-data:x:1113:www-data, boincadm

J'avais besoin des 3 lignes pour que ça marche.J'espère que ça aide quelqu'un.Et j'aimerais quand même comprendre pourquoi le fichier /etc/group n'a pas été modifié automatiquement lors de l'utilisation usermod.Et pourquoi grops affiche un résultat correct si c'est le cas.

Autres conseils

Voici une possibilité :

www-data a un groupe principal www-data;le reste est groupes supplémentaires.

Le processus serveur a le bon utilisateur (par setresuid ou similaire) et groupe principal (par setresgid ou similaire), mais il lui manque les autres groupes supplémentaires (sans initgroups ou similaire).

Si tel est le cas, vous avez plusieurs options :modifiez la propriété du fichier sur le groupe principal, modifiez le groupe sous lequel le serveur s'exécute ou corrigez le serveur pour inclure tous les groupes supplémentaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top