
Tenho um cliente que é dono de uma gráfica. Eu configurei para ele um servidor FTP onde os clientes podem enviar para ele arquivos grandes que desejam imprimir.
Eu criei vários usuários de FTP. Ele tem alguns clientes premium e alguns clientes regulares. Clientes regulares são instruídos a usar o usuário FTPclientes. O proprietário possui uma pasta chamada clientes com as próximas permissões.
printshopowner# ls -la
drwx-----x 9 printshopowner printshopowner 4096 Aug 17 08:07 .
drwx-wx-wx 9 printshopowner clients 4096 Jan 19 10:24 clients
drwxrwx--- 2 premiumuser printshopowner 4096 Jan 19 08:13 premiumuser
Está funcionando bem. Um cliente pode fazer upload de arquivos sem ver os arquivos de outros clientes. O problema é quando um cliente carrega uma pasta. O usuário FTPdono de gráfica não é possível excluir essas pastas.
[printshopowner/clients]# ls -la
drwx-wx-wx 9 printshopowner clientes 4096 Jan 19 10:24 .
drwx-----x 9 printshopowner printshopowner 4096 Aug 17 08:07 ..
drwxr-xr-x 3 clients clients 4096 Dec 3 11:57 folderA
Alguma ideia de como devo configurar a caixa de depósito FTP para obter a funcionalidade desejada?
Responder1
Você pode tentar configurar local_umask em vsftpd.conf
local_umask = 0002
Considere também examinar file_open_mode. Isso controla as permissões com as quais os arquivos enviados são criados com umasks sendo aplicadas sobre esse valor.
Responder2
Para excluir (ou dizer corretamente "desvincular") o arquivo/diretório X, um usuário não precisa ter propriedade de X, ou nem permissão de gravação em X, mas ele precisa ter permissão de gravação nopai de Xdiretório.
No seu caso, o printshopowner pode excluir (rmdir) a pastaA, mas somente se estiver vazia. O usuário printshopowner não pode excluir nada dentro da pasta A (não há permissão de gravação para ele lá). Se você alterar a umask do cliente para 002, ele criará a pasta A como "drwxrwxr-x" e o printshopowner poderá excluí-la (presumo que o printshopowner seja atribuído a ambos os grupos printshopowner e clientes). Não tenho ideia de como alterar umask no seu servidor FTP.