Eu tenho um VPS rodando o Ubuntu 12.04 que hospeda cerca de 9 sites que são uma mistura de wordpress e joomla (versões mais recentes).
O Apache é executado em www-data e os sites são hospedados como virtualhost em /var/www/{sites}
Hoje desabilitei o FTP (inseguro) e substituí por SFTP. Eu configurei isso para que cada site/host virtual tenha um usuário SFTP com chroot. quando você faz login como usuário SFTP, você fica chroot em /usr/local/chroot/{user}, neste diretório eu montei o host virtual específico ao qual este usuário precisa de acesso (com mount --bind /var/www/{subdomain} /usr/local/chroot/{usuário}/web)
os usuários do SFTP estão configurados para que possam apenas usar SFTP e não SSH e seu shell está definido como /sbin/false
o único problema/dúvida que tenho é com as permissões do usuário. os sites são executados como www-data, então quando eu carrego algo, por exemplo, joomla, o arquivo é criado com propriedade www-data:www-data. no entanto, se eu fizer upload de um arquivo usando SFTP, ele será carregado como {usuário}:www-data. isso pode levar a problemas com permissões.
qual seria a melhor maneira de lidar com a propriedade e as permissões de arquivos neste caso? Além disso, a maneira como configuro isso é segura?
Responder1
Maneira simples, se você tiver certeza de suas configurações de segurança: defina o bit suid na pasta principal. Mas não vejo quais problemas de permissão você teria, já que o grupo já está configurado em www-data.