Permision negado no arquivo de log

1

Eu quero poder ver os arquivos de log do apache como usuário regular. Eu configurei esses arquivos para 777 como root, mas ainda não consigo visualizá-los como usuário regular, por que isso?

#I have set permissions for everyone
root@senior:/var/log/apache2# ls -l
total 200
-rwxrwxrwx 1 root root   1951 Feb 27 23:07 access.log
-rwxrwxrwx 1 root root  89508 Feb 27 23:07 error.log
-rwxrwxrwx 1 root root 101601 Feb 27 23:06 other_vhosts_access.log

#I have also set directory permission 
root@senior:/var/log# ls -l
drw-rw-r-- 2 root        adm          4096 Feb 27 23:08 apache2

Mas ainda não é possível visualizar os arquivos

kubi@senior:$ ls -l /var/log/apache2/
ls: cannot access /var/log/apache2/other_vhosts_access.log: Permission denied
ls: cannot access /var/log/apache2/error.log: Permission denied
ls: cannot access /var/log/apache2/access.log: Permission denied
total 0
-????????? ? ? ? ?            ? access.log
-????????? ? ? ? ?            ? error.log
-????????? ? ? ? ?            ? other_vhosts_access.log
kubi@senior:/$ ls /var/log/apache2/error.log
ls: cannot access /var/log/apache2/error.log: Permission denied

Estou executando o debian

    
por Buksy 27.02.2013 / 23:15

2 respostas

3

O diretório deve ser 750 , não 664 . Além disso, você deve adicionar o usuário ao grupo adm . Na verdade, esse é basicamente o ponto do adm group: ler logs.

As permissões nos diretórios são um pouco diferentes das dos arquivos. Para simplificar um grupo, um diretório é uma lista de nomes e endereços: o nome é o nome do arquivo, o endereço é o local real do arquivo. A permissão x controla o acesso a essa lista: para pesquisar o endereço de um arquivo específico, você precisa executar o bit em seu diretório pai, no pai desse diretório, etc. A permissão r então controla listando arquivos : Se você tiver --x , poderá acessar um arquivo se souber o nome dele, mas não poderá ls . Por fim, w controla a criação, renomeação e exclusão de arquivos. Então, para acessar um arquivo, você sempre precisa do x bit.

Além disso: NÃO configure os arquivos de log para 777. Eles devem ser 644 ou 640, um dos dois. Dois motivos: um, eles não são executáveis, portanto, o x bit deve estar desativado. Segundo, mais importante, os usuários normais devem nunca estar gravando em arquivos de log do Apache, apenas lendo. Essa é uma possível falha de segurança no servidor.

    
por 27.02.2013 / 23:55
1

Você precisa definir o sinalizador de execução nos diretórios para poder listar os arquivos contidos.

Mas a melhor solução é não alterar as permissões do arquivo, mas adicionar o usuário ao grupo admin (adm)

    
por 27.02.2013 / 23:22