Tenho acompanhado o tutorial emhttps://www.digitalocean.com/community/tutorials/how-to-install-wordpress-on-centos-7(junto com todos os tutoriais de pré-requisitos) para configurar o wordpress em meu novo servidor CentOS7. Tudo está funcionando bem até agora
sudo chown -R apache:apache /var/www/html/*
Entendo que o comando acima atribui propriedade ao usuário e grupo do Apache. Normalmente, porém, eu me conecto através do PuTTY e do Filezilla usando minha própria myuser
conta e gostaria de ativar permissões para essa conta.
Portanto, além do comando acima, também adicionei myuser
ao apache
grupo e efetuei logout e login novamente, porém ainda recebo mensagens de erro de permissão negada quando tento realizar operações CRUD na pasta html. No entanto, se eu elevar os comandos, sudo
eles funcionarão, então ficarei um pouco perplexo sobre como permitir que a myuser
conta execute operações de arquivo. Alguma ideia?
Responder1
Você desejará verificar a propriedade, as permissões e os contextos do Selinux
Propriedade - Parece que você acertou. Proprietário:O grupo no CentOS7 deve ser apache:apache. Para o seu usuário você terá que adicionar o apache como um grupo suplementar. Você pode verificar isso com id myuser
, se o apache não aparecer na lista de grupos, execute usermod -a -G apache myuser
.
Permissões - Elas estão listadas como rwxrwxrwx. o conjunto intermediário de rwx é a parte importante, pois controla o acesso via grupo (o que importa para myuser). Você provavelmente precisará apenas de permissões de leitura/gravação, portanto, chmod -R 664 directoryname
provavelmente será suficiente (leitura/gravação para usuário e grupo do Apache, somente leitura para todos os outros). Você pode verificar as permissões com ls -l
.
Nota: O WordPress geralmente contém um arquivo '.htaccess' oculto, você precisará aplicar manualmente o chmod a ele e a qualquer outro arquivo oculto, pois o chmod / chown recursivo irá ignorá-los.
Contextos SELinux - Estes você pode verificar com ls -Z
. Para desativar a aplicação do SELinux, você pode executar setenforce 0
- Isso é bom para depurar se o SELinux é o culpado ou não, no entanto, você deve ativá-lo novamente quando terminar o teste usando setenforce 1
. Se o SELinux for o problema, então provavelmente o que você precisará fazer é alterar o contexto dos arquivos com algo parecido comchcon -R -t httpd_sys_rw_content_t directoryname
Nota: Um chcon recursivo também irá ignorar arquivos ocultos (qualquer arquivo que comece com '.')
Nota lateral: Se você estiver usando links simbólicos, certifique-se de que tanto o diretório vinculado quanto o próprio link simbólico tenham a propriedade/permissões apropriadas. Para direcionar um link simbólico com chmod / chown, use o -h
sinalizador e, se estiver direcionando um diretório, certifique-se de que a barra final não esteja presente (por exemplo, /var/www/html/linked_dir
e não /var/www/html/linked_dir/
- tenha cuidado ao usar o preenchimento de tabulação, pois isso adicionará automaticamente a barra final)