Como dar ao grupo Apache acesso de gravação aos arquivos de log e um acesso somente leitura do usuário FTP

1

Servidor Ubuntu 11.10

Eu tenho um usuário bob , cujo diretório pessoal é /home/sites/bob . Em que existem diretórios public_html e logs .

O Apache é executado sob o usuário www-data . O grupo principal de bob é www-data . O Apache atualiza o access.log e error.log no diretório logs . Os dois arquivos de log são de propriedade de root:root e possuem permissão 644 .

O usuário bob efetua login em um servidor FTP que funciona. O problema é bob pode excluir ou substituir os dois arquivos de log. Eu preciso que o Apache consiga gravar nos logs e que bob tenha acesso de leitura - sem sobrescrever ou excluir os logs. Como isso pode ser feito?

O que eu tentei:

cd /home/sites/bob
chown www-data:www-data logs
chmod 644 logs

Eu esperava que isso funcionasse porque deveria dar acesso de gravação ao Apache e o www-data group (ou seja, o bob user) apenas acessaria a leitura. O que realmente acontece é na sessão de FTP bob pode ver logs na lista de diretórios, mas ele não pode abri-lo, quando ele tenta mudar para logs , o erro é:

Command: CWD logs
Response: 550 logs: No such file or directory
Error: Failed to retrieve directory listing

Então, minha pergunta é como dar acesso de gravação ao Apache ( www-data ) para logs , mas somente o acesso de leitura (e nenhuma exclusão) para bob ?

    
por ServerBloke 11.03.2013 / 17:27

1 resposta

1

Você precisa conceder permissão de execução no diretório logs, caso contrário, o usuário não poderá entrar no diretório.

chmod 754 logs/
    
por 11.03.2013 / 17:38