Você deve pesquisar as ACLs baseadas em arquivos (FACL), pois elas são feitas para fazer o que você deseja fazer.
A versão curta é você definir a partição em questão para rastrear permissões de acl baseadas em arquivos editando seu / etc / fstab e adicionando o "acl": option:
#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 estão limitadas às permissões do grupo proprietário. Há outras maneiras de contornar isso, mas o mais fácil é apenas garantir o grupo proprietário como rwx)