Configurei o CentOS em uma caixa na minha rede local e instalei httpd, PHP, Webmin (e UserMin) etc. Optei pelo ProFTPd e abri portas para FTP, Webmin e Apache.
Agora posso acessar o Webmin pela rede local e visualizar a página de teste padrão do Apache. Também posso fazer uma conexão SFPT como usuário que criei. No entanto, não consigo gravar arquivos em /var/www/ por FTP.
O que preciso fazer para permitir que um ou mais usuários acessem o diretório relevante?
Responder1
Embora a resposta do LDJames (não mais aqui) tenha me colocado sobre toda a questão dos usuários e grupos, ela não foi totalmente útil. Felizmente, foi o suficiente para envolver o Google. Aqui estão as etapas que executei para resolver o problema.
A pasta pertencia ao root, o que não seria um bom grupo para adicionar um usuário. A solução foi criar um grupo especial. Chamei de "www" porque sou inventivo assim. Em seguida, mova a pasta html para esse grupo.
<user>
é o nome de usuário do usuário no meu sistema
- su para root (ou use sudo em todas as linhas)
groupadd www
(Criar grupo)usermod -a -G www <user>
(Adicione o usuário ao grupo)- navegue até /var/www/
chgrp www html
(defina a pasta para o grupo)chmod g+rwx html
(permitir acesso de grupo à pasta - veja tambémhttp://ss64.com/bash/chmod.htmlo que foi bastante útil)
Resultado Agora posso fazer upload de arquivos e posso fazer com que outros usuários também façam o mesmo, se desejar.
- Por algum motivo, também configurei o Apache para ser executado como o grupo www.
Isso é feito definindo as variáveis ambientais (cuja localização exata difere dependendo do tipo de Linux).
Apesar de outras respostas, a maneira correta de fazer isso é:
export APACHE_RUN_USER=www
export APACHE_RUN_GROUP=www
O texto acima pressupõe que eu também criei um usuário chamado www, mas como esta é uma caixa de desenvolvimento em minha mesa, estou feliz que o Apache seja executado como root por enquanto.
Descobri como configurar o usuário e o grupo do Apache por meio de:Com qual usuário o apache e o PHP devem estar sendo executados? Quais permissões os arquivos /var/www devem ter?