Bonjour à tous.
J'ai quelques problèmes avec des droits.
J'ai ProFTPd et Apache 2 (uid et gid = www-data)
J'ai un utilisateur lambda (uid et gid = lambda)
Quand j'upload un fichier, avec un "ls -l" je m'aperçois qu'il appartient bien à l'utilisateur lambda avec les droits 755.
Mon problème survient lorsque je veux l'éditer via un script PHP.
Le script est lancé par apache (www-data) qui n'a pas n'a pas accès en écriture sur ce fichier.
Comment remédier à ce problème sans passer par un chmod 777?
C'est probablement une mauvaise solution. Tu ajoutes énormément de complexité, avec un standard encore pas très standard donc peu supporté, pour un gain nul parce que tu peux faire ça sans.
Définis bien tes groupes et ça marche sans problème avec les méthodes habituelles.
Tient? ça close pas???
De toute façon j'ai rien modifié pour le moment.
Et puis c'est plus sécurisant d'exécuter les scripts sous un utilisateur qui n'a pas l'accès en écriture.
Pour les fichiers ou répertoires où l'accès en écriture est requis, il vaut mieux passer par un chmod 777 tout simple.
Et comme tu le dis, ce système avec les ACL l'air complexe. Je ne suis pas sûr qu'il soit adapté à un serveur (en tout cas pas un serveur web+ftp).
Oui, et puis en construisant bien tes groupes d'utilisateurs, tu peux faire du chmod 775 (ou 770).
Le problème des ACL, c'est que bien souvent c'est utilisé à tort, pour bazarder une liste de permissions au lieu d'organiser le système et définir les groupes correspondants au "cahier des charges". Ce qui fait que
- c'est pas super propre rien que sur le principe
- ça conduit à de la redondance d'information (plusieurs objets accessibles aux même se retrouvent avec des permissions gérées séparément).
- qui dit redondance dit incohérences, difficulté à maintenir...
- la gestion des permissions devient complexe. Et qui dit complexité dit plus de place pour des erreurs. J'ai déjà vu des ACL dans Active Directory là où j'ai bossé avant, avec plus de 50 entrées. C'est un sacré bordel pour ne pas savoir qui a le droit de faire et de ne pas faire quoi.