Excluir pastas com FTP

1

Eu tenho cliente que é o proprietário de uma loja de impressoras. Eu configurei para ele um servidor FTP onde os clientes podem deixar grandes arquivos que eles querem 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 de FTP clientes . O proprietário tem 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 faz o upload de uma pasta. O usuário de FTP printshopowner não pode 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?

    
por Sergio del Amo 19.01.2010 / 11:38

2 respostas

2

Você pode tentar definir local_umask em vsftpd.conf

local_umask = 0002

Considere também olhar para file_open_mode. Isso controla as permissões com as quais os arquivos carregados são criados com osks sendo aplicados sobre esse valor.

    
por 28.01.2010 / 19:32
1

Para excluir (ou dizer "unlink") corretamente o arquivo / diretório X, um usuário não precisa ter a propriedade de X, ou nenhuma permissão de gravação no X, mas eles precisam ter permissão de gravação no Diretório pai do X .

No seu caso, printshopowner pode excluir (rmdir) folderA, mas somente se estiver vazio. O usuário printshopowner não pode excluir nada dentro da pasta A (sem permissão de gravação para ele). Se você alterar a umask de clientes para 002, ele fará folderA como "drwxrwxr-x" e o printshopowner poderá excluí-lo (suponho que o printshopowner seja atribuído a ambos os grupos printshopowner e clients). Não faço ideia de como mudar umask no seu servidor FTP.

    
por 19.01.2010 / 12:57