Eu configurei uma nova instância do Ubuntu 12.04. Isto tem, claro, o usuário root. Eu tenho o apache rodando e ele tem seu próprio usuário e grupo e eu criei um único usuário ftp também (que tem seu próprio usuário e grupo). Eu também criei um novo grupo que pensei ter configurado para conter o apache e o usuário do ftp para fazer upload / criar / gerenciar arquivos.
Agora, na minha raiz da Web e em relação a usuários e grupos, tenho algo parecido com isto:
-rw-r--r-- 1 root www-pub 22 Jul 30 06:21 index.html
drwxr-sr-x 5 www-data www-data 4096 Jul 30 06:26 test
drwxr-sr-x 8 ftpacct www-data 4096 Jul 30 06:03 stuff
index.html foi criado pelo root (via ssh), o diretório de teste foi criado pelo apache e o diretório stuff foi criado pelo usuário ftp.
(Além disso, www-data e ftpacct ambos pertencem ao grupo www-pub.)
Meu problema: se um arquivo ou diretório é de propriedade do apache (www-data) ele não é modificável pelo usuário ftp (ftpacct) e vice-versa. Eu posso dar o elemento 775 permissões e, em seguida, é editável como todos os usuários estão no mesmo grupo, mas isso parece inseguro (talvez não seja? Eu tenho a impressão de que nada mais do que 755 não é uma boa idéia).
Então, qual é a solução? Como posso fazer com que os arquivos enviados por ftpacct possam ser modificados pelo usuário www-data e para que os arquivos criados por esse usuário possam ser modificados por ftpacct? Ou eu deveria estar pensando assim?
Posso fazer isso ou essa configuração de permissões não é a melhor maneira de fazer as coisas?