Tive alguns problemas com uma situação de servidor, onde mantenho alguns arquivos de configuração em um subdiretório de um projeto web. Usando minha conta de superusuário, faço alterações nesses arquivos, que o NetBeans envia para mim, fazendo upload deles.
Mas o cliente precisa poder acessar e modificar esses arquivos via FTP. Consegui executar um chown ftpuser *.*
e funcionou, mas apenas até reenviar o arquivo, após o qual ele passou a ser de minha propriedade novamente e o cliente não pôde mais modificá-lo.
Como posso tornar esses arquivos modificáveis por mimeo cliente?
(É o Debian 6.0 rodando no Plesk 11)
Responder1
Você deve procurar ACLs baseadas em arquivo (FACL), pois elas são feitas para fazer o que você deseja.
A versão resumida é que você define a partição em questão para rastrear permissões acl baseadas em arquivo editando seu /etc/fstab e adicionando a opção "acl"::
#example /dev/VolGroup00/LogVol02 / ext3 defaults,acl 1 1
Em seguida, você define a FACL apropriada no diretório que deseja que o cliente acesse:
#set existing owner/group to rwx
chmod ug=rwX -R /some/ftp/directory
#set existing files/folders to rwx for ftpuser
setfacl -m u:ftpuser:rwX -R /some/ftp/directory
#set future files/folders to rwx for ftpuser
setfacl -dm u:ftpuser:rwX -R /some/ftp/directory
(Observe que definimos o proprietário e o grupo existentes como rwx porque as FACLs são limitadas às permissões do grupo proprietário. Existem outras maneiras de contornar isso, mas a mais fácil é apenas garantir o grupo proprietário como rwx)
Links: http://linuxcommando.blogspot.com/2007/12/basic-linux-permission-model-lets-you.html http://retrop.wordpress.com/2012/02/10/enabling-file-acls-in-debian-6-access-control-lists/