En mi servidor web tengo un directorio 'www' que tiene el permiso drwxrwxr--
y user: group root:www-data
para que Apache pueda acceder a él.
Ahora he agregado mi cuenta al grupo www-data con
sudo usermod -g www-data myuser
y si lo hago, groups
entonces www-data
está entre ellos, pero cuando trato de cd simplemente obtener 'Permiso denegado'.
Si cambio el usuario a 'myuser' o configuro el grupo a otro grupo del que soy miembro, puedo ingresar.
¿Me estoy perdiendo de algo?
fuente
Para mí fue algo diferente que resultó en este error
mismo nombre de usuario con dos UID diferentes
Tengo el usuario "apache" configurado localmente con UID = 123 y en el directorio NIS con el mismo nombre ("apache") pero diferente UID = 456. Dependiendo del orden de inicio y la dependencia del servicio, el usuario local podría usarse antes de que el usuario NIS esté disponible. Eso también significa que, cuando muestra nombres de usuario, esto será confuso, ambos aparecerán como "apache". Solo cuando observa los UID numéricos (por ejemplo, al hacerlo
ls -ln
verá la diferencia. Ejemplo:[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
vea que el UID es diferente para el archivo 2 (456 en lugar 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
diferente grupo definido en la configuración de Apache
Otro problema que tuve con la falta de coincidencia del usuario y el error de permiso resultante, fue cuando estaba restringiendo el acceso a los archivos usando el grupo "httpd". Este fue el grupo principal de usuarios "apache" (que se mostró usando
id
ogetent
) Apache se inicia como root, luego cambia al usuario configurado y deja caer el permiso. El usuario al que cambia está definido/etc/httpd/conf/httpd.conf
porUser
parámetro. Sin embargo, aquí está el problema: el grupo (GID) en el que se ejecutará el proceso, ya que NO es el grupo principal de ese usuario. El grupo se define en el mismo archivo de configuración porGroup
parámetro.Entonces en mi caso fue ( /etc/httpd/conf/httpd.conf ):
User apache Group apache
Y el directorio obtuvo acceso de esta manera:
drwxr-x--- 4 someuser httpd 88 May 31 17:12 mydir
Debido a que httpd (GID = 444) era el grupo principal de ese usuario:
[root@somemachine]# id apache uid=48(apache) gid=444(httpd) groups=444(httpd)
Resultó en algún tiempo dedicado a la depuración hasta que me di cuenta de que el
Group
archivo de configuración era "apache" y no "httpd".Error 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
Espero que esto ayude.
fuente