No meu servidor web, tenho um diretório 'www' com permissão drwxrwxr--
e user: group root:www-data
para que o Apache possa acessá-lo.
Agora adicionei minha conta ao grupo www-data com
sudo usermod -g www-data myuser
e se o fizer groups
, www-data
está entre eles, mas quando tento simplesmente entrar nele, recebo 'Permissão negada'.
Se eu mudar o usuário para 'myuser' ou definir o grupo para outro grupo do qual sou membro, posso entrar.
Estou esquecendo de algo?
fonte
Para mim, foi uma coisa diferente, resultando neste erro
mesmo nome de usuário com dois UIDs diferentes
Eu tenho o usuário "apache" configurado localmente com UID = 123 e no diretório NIS com o mesmo nome ("apache"), mas UID diferente = 456. Dependendo da ordem de início e da dependência do serviço, o usuário local pode ser usado antes que o usuário do NIS esteja disponível. Isso também significa que, quando você exibir nomes de usuários, isso será confuso, ambos aparecerão como "apache". Somente quando você olhar UIDs numéricos (por exemplo
ls -ln
, verá a diferença. Exemplo:[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
veja o UID é diferente para o arquivo2 (456 em vez 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
grupo diferente definido na configuração do Apache
Outro problema que tive com a incompatibilidade do usuário e o resultante erro de permissão foi quando eu estava restringindo o acesso aos arquivos usando o grupo "httpd". Este foi o grupo principal de usuários "apache" (que foi exibido usando
id
ougetent
) O Apache inicia como raiz, depois alterna para o usuário configurado e descarta a permissão. O usuário para o qual ele alterna é definido/etc/httpd/conf/httpd.conf
porUser
parâmetro. Mas aqui está o problema - o grupo (GID) em que o processo será executado NÃO é o grupo principal desse usuário. O grupo é definido no mesmo arquivo de configuração porGroup
parâmetro.Então, no meu caso, era ( /etc/httpd/conf/httpd.conf ):
User apache Group apache
E o diretório recebeu acesso assim:
drwxr-x--- 4 someuser httpd 88 May 31 17:12 mydir
Como o httpd (GID = 444) foi o grupo principal desse usuário:
[root@somemachine]# id apache uid=48(apache) gid=444(httpd) groups=444(httpd)
Isso resultou em algum tempo gasto na depuração até eu perceber que o
Group
arquivo de configuração era "apache" e não "httpd".Erro em / 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
Eu espero que isso ajude.
fonte