Problema com permissões do usuário "apache" no WinSCP

Iniciado por Piucco, 12 de Agosto de 2015, 04:15

tópico anterior - próximo tópico

Piucco

Boa noite pessoal

Eu tenho um servidor LAMP rodando o Wordpress. Para que o Wordpress funcione corretamente, inclusive receber arquivos via upload e fazer auto-atualizações, todos recomendam setar o usuário "apache" em /var/www, da seguinte forma:

Citarsudo chown -R apache /var/www

Até ai tudo bem, isso resolve problemas com permissões no Wordpress.

O problema acontece no WinSCP(programa de SFTP pra Windows), ao editar qualquer arquivo e salva-lo, o WinSCP retorna a seguinte mensagem de erro:

CitarUpload of file 'index.php' was successful, but error occurred while setting the permissions and/or timestamp.

If the problem persists, turn off setting permissions or preserving timestamp. Alternatively you can turn on 'Ignore permission errors' option

O que acontece ai é que como os arquivos em /var/www estão com o usuário "apache" e o WinSCP está logado com o usuário padrão, o mesmo não tem permissões para alterar o timestamp do arquivo. Claro que eu posso ir lá e alterar o usuário "apache" para o meu usuário padrão que no caso é "ec2-user", mas dai voltaria a acontecer problemas de permissões no Wordpress.

Como resolver esse problema no WinSCP sem arruinar o Wordpress novamente? Talvez fazendo com que os arquivos além do chown "apache", também tenha o "ec2-user"? Ou adicionar os usuários ao grupo "www" que vem por padrão ao instalar o Apache? Qual a melhor prática pra resolver isso sem comprometer a segurança do servidor LAMP? Estou um pouco confuso com esses tipos de permissões, sou novo no Linux.

Obrigado

zekkerj

Duas sugestões:

Uma, ao invés de usar seu usuário padrão no WinSCP, use o "apache". Claro que pra isso vc vai ter que definir uma senha pra ele.

Segunda, ao invés de trocar todo o /var/www pro apache (o que eu não recomendaria de qualquer forma), trocar só as pastas relativas a ele, tal como /var/www/wordpress.

Vc pode também tentar atribuir permissões de grupo, colocando a si mesmo no mesmo grupo do usuário apache, e dando permissão de escrita de grupo aos diretórios envolvidos.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Piucco

#2
Não resolveria atribuir o usuário apache apenas para o diretório do wordpress, pois eu edito plugins wordpress diretamente pelo WinSCP,.

Acredito eu que a melhor prática seria mesmo colocar o usuário padrão ec2-user no mesmo grupo do usuário apache. Pra isso eu teria que criar um novo grupo ou o usuário apache já está em um grupo por padrão? Como faria isso na prática?

-edit

Achei algo que poderia responder minhas dúvidas acima:

http://blog.david-jensen.com/wordpress-amazon-ec2-apache-permissions-wordpress/

Segui exatamente como está ali, sendo que utilizo o Amazon EC2 e os usuários e pastas são iguais, porém continua dando o erro no WinSCP.

Achei outra alternativa, que seria manter as permissões como estão, porém dentro do WinSCP, alterar o usuário para root, matando os problemas com permissões. É uma boa prática?

zekkerj

todo usuário tem um grupo padrão, você pode confirmar qual é com o comando "id usuario" ou ainda "groups usuario".

Pra colocar alguém em um grupo no Linux, vc pode usar o comando "sudo adduser fulano grupo".
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D