Permissões de arquivo criadas pelo Apache

6

SO: CentOs

Sempre que o apache (apache2) cria um arquivo ou diretório, ele automaticamente configura as permissões para o 777. Eu quero que os diretórios sejam 775 e os arquivos 664. Como posso corrigir isso?

    
por JMC 19.01.2012 / 18:04

3 respostas

7

Coloque umask 002 no final de /etc/sysconfig/httpd e reinicie o httpd ( service restart httpd ) e ele deve fazer o truque para arquivos futuros. O Apache herda o umask de seu processo pai, então essa configuração faz isso acontecer.

    
por 19.01.2012 / 18:09
5

Defina o umask para o apache (ou qualquer usuário em que ele seja executado):

umask 002 fornecerá 775 e 664 em novas pastas e arquivos.

    
por 19.01.2012 / 18:11
3

Verifique o / etc / bashrc. Já deve (pelo menos em uma máquina do CentOS) ter as seguintes estrofes:

# /etc/bashrc
# System wide functions and aliases
# Environment stuff goes in /etc/profile

# By default, we want this to get set.
# Even for non-interactive, non-login shells.
if [ $UID -gt 99 ] && [ "'id -gn'" = "'id -un'" ]; then
        umask 002
else
        umask 022
fi

Isso já deve estar obtendo o comportamento desejado, a menos que você tenha instalado um apache personalizado e criado o usuário do apache por conta própria. Mesmo assim, não deveria estar recebendo 000 como o umask a menos que isso já esteja explicitamente configurado em algum lugar. Eu mencionei isso apenas porque o seu sistema está exibindo sinais de uma configuração não padrão, e por causa disso, é possível que outros usuários (do sistema ou não) também estejam obtendo essa máscara de criação de arquivos muito ampla.

    
por 19.01.2012 / 21:06