Sur mon serveur Web, j'ai un répertoire 'www' qui a la permission drwxrwxr--
et user: group root:www-data
pour qu'Apache puisse y accéder.
Maintenant, j'ai ajouté mon compte au groupe www-data avec
sudo usermod -g www-data myuser
et si je groups
puis www-data
est parmi eux, mais lorsque je tente simplement cd dans ce que je reçois « Autorisation refusée ».
Si je change l'utilisateur en «myuser» ou que je mets le groupe dans un autre groupe dont je suis membre, je peux entrer.
Suis-je en train de manquer quelque chose?
la source
Pour moi, ce fut une chose différente entraînant cette erreur
même nom d'utilisateur avec deux UID différents
J'ai l'utilisateur "apache" configuré localement avec UID = 123 et dans le répertoire NIS avec le même nom ("apache") mais différent UID = 456. Selon l'ordre de démarrage et la dépendance du service, l'utilisateur local peut être utilisé avant que l'utilisateur NIS ne soit disponible. Cela signifie également que lorsque vous afficherez des noms d'utilisateur, cela sera source de confusion, les deux apparaîtront comme "apache". Seulement lorsque vous regardez les UID numériques (par exemple en faisant cela,
ls -ln
vous verrez la différence. Exemple:[root@mymachine]# ls -l drwxr-x--- 4 apache ggg1 88 May 31 17:12 file1 drwxr-x--- 4 apache ppp2 88 May 31 17:12 file2
voir l'UID est différent pour file2 (456 au lieu de 123):[root@mymachine]# ls -ln drwxr-x--- 4 123 48 88 May 31 17:12 file1 drwxr-x--- 4 456 48 88 May 31 17:12 file2
groupe différent défini dans la configuration Apache
Un autre problème que j'ai rencontré avec la non-concordance des utilisateurs et l'erreur de permission qui en a résulté, était lorsque je restreignais l'accès aux fichiers en utilisant le groupe "httpd". Il s'agissait du groupe principal d'utilisateurs "apache" (qui était affiché à l'aide de
id
ougetent
) Apache démarre en tant que root, puis passe à l'utilisateur configuré et supprime l'autorisation. L'utilisateur vers lequel il bascule est défini/etc/httpd/conf/httpd.conf
parUser
paramètre. Voici le problème cependant - le groupe (GID) dans lequel le processus sera exécuté n'est PAS le groupe principal de cet utilisateur. Le groupe est défini dans le même fichier de configuration parGroup
paramètre.Donc dans mon cas, c'était ( /etc/httpd/conf/httpd.conf ):
User apache Group apache
Et le répertoire a obtenu un accès comme celui-ci:
drwxr-x--- 4 someuser httpd 88 May 31 17:12 mydir
Parce que httpd (GID = 444) était le groupe principal de cet utilisateur:
[root@somemachine]# id apache uid=48(apache) gid=444(httpd) groups=444(httpd)
Cela a entraîné un certain temps passé à déboguer jusqu'à ce que je réalise que le
Group
fichier de configuration était "apache" et non "httpd".Erreur de / var / log / httpd / error_log :
[Fri May 31 17:13:40.070343 2019] [authz_core:debug] [pid 2527] mod_authz_core.c(809): [client 11.22.32.21:53824] AH01626: authorization result of Require all granted: granted [Fri May 31 17:13:40.070367 2019] [authz_core:debug] [pid 2527] mod_authz_core.c(809): [client 11.22.32.21:53824] AH01626: authorization result of <RequireAny>: granted [Fri May 31 17:13:40.070396 2019] [core:error] [pid 2527] (13)Permission denied: [client 11.22.32.21:53824] AH00132: file permissions deny server access: /var/www/html/somedir/otherdir/css/file1.txt
J'espère que ça aide.
la source