
Quero poder visualizar os arquivos de log do Apache como usuário normal. Eu configurei esses arquivos para 777 como root, mas ainda não consigo visualizá-los como usuário normal, 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 consigo 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
Responder1
O diretório deveria ser 750
, não 664
. Além disso, você deve adicionar o usuário ao adm
grupo. Na verdade, esse é em grande parte o objetivo do adm
grupo: ler registros.
As permissões nos diretórios são um pouco diferentes das dos arquivos. Para simplificar, um diretório é uma lista de nomes e endereços: o nome é o nome do arquivo, o endereço é a localização real do arquivo. A permissão x
controla o acesso a esta lista: para procurar o endereço de um arquivo específico, você precisa do bit de execução em seu diretório pai e no pai desse diretório, etc.r
listagemarquivos: se você tiver --x
, poderá acessar um arquivo se souber seu nome, mas não pode ls
. Por último, 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 defina os arquivos de log como 777. Eles devem ser 644 ou 640, um dos dois. Dois motivos: um, eles não são executáveis, então o x
bit deve estar desativado. Em segundo lugar, mais importante ainda, os usuários normais devemnuncaestar gravando nos arquivos de log do Apache, apenas lendo. Essa é uma potencial falha de segurança no servidor.
Responder2
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 sim adicionar o usuário ao grupo admin (adm)