Eu configurei uma nova caixa ec2 ubuntu e instalei o apache e o php5. Por padrão, você faz login na caixa com o ubuntu
usuário que tem sudo
privilégios.
Acredito que o Apache roda como root
e o php5 roda como www-data
.
Acho que quero que todos os arquivos /var/www
sejam alterados para www-data:www-data
, e as pastas definidas como 755 e os arquivos como 644 - a menos que haja um problema com isso.
As coisas funcionam bem assim, mas meu problema é que quando eu rsync
arquivo do meu laptop para o servidor, ele altera a propriedade deles (e adiciona novos arquivos) comoubuntu:admin
Examinei o rsync
manual e pesquisei no Google e vi uma sintaxe como:
rsync -avzcO (source) (destination) --owner=www-data --group=www-data
No entanto, parece que --owner
e --group
não aceita argumentos, mas deve ser usado para forçar os arquivos remotos a terem o mesmo proprietário do sistema de arquivos local se o rsync estiver sendo executado como um superusuário.
Portanto, não encontrei uma solução com o rsync para definir o usuário remoto e o grupo de arquivos durante o rsync.
O que estou fazendo de errado?
Pensamentos:
- Talvez meus arquivos em /var/www devam pertencer apenas a
ubuntu:admin
? - Talvez eu tenha errado a sintaxe do rsync
- Acho que poderia sincronizar novamente como
www-data
usuário, mas não parece uma boa ideia - Eu poderia usar o suPHP como faria em um host compartilhado, mas isso parece ser um pouco problemático
Responder1
Você não quer que eles sejam propriedade de www-data. O Apache inicialmente é executado como root e depois descarta privilégios para www-data. Você não deseja que seu conteúdo da web seja gravável pelo usuário proprietário dos processos do Apache. Isso cria uma vulnerabilidade de segurança.
No caso de o Apache ser violado, idealmente o usuário www-data não terá acesso a nenhum sistema. Esta é a configuração mais segura. Se o conteúdo da web for propriedade de www-data, se o Apache for violado, o invasor poderá sobrescrever qualquer conteúdo da web.
Seu conteúdo da web deve pertencer a um usuário normal (isso exclui nobody
, www-data
e root
). Somente coisas queprecisarpara ser gravável pelo Apache deve ser propriedade de www-data.