Configure o vsftpd para chown os arquivos enviados

4

Eu tenho vsftpd instalado e funcionando no meu servidor Ubuntu. Este é um servidor de desenvolvimento e eu quero ser capaz de enviar meu código FTP diretamente para o diretório que o Apache está servindo.

Como a maioria de vocês sabe, o www-data é o usuário do Apache e o usuário do www-data precisa ter permissões para o diretório que o Apache está servindo.

Eu não queria fazer do www-data um usuário de FTP também, então o que eu fiz foi criar outro usuário para usar com FTP, e colocar tanto o www-data quanto o novo usuário em um novo grupo chamado www.

Eu fiz um chown -R www-data:www * para o diretório que o Apache está servindo e funciona muito bem.

O problema surge quando faço o upload de um arquivo que não existia anteriormente naquele diretório. O proprietário é definido para o meu usuário de FTP. Eu quero que o proprietário seja configurado para www-data e o grupo seja definido para www sempre que um novo arquivo for carregado.

Existe alguma maneira de fazer isso com o vsftpd?

Eu tenho pesquisado furiosamente por horas, mas não consigo encontrar uma maneira de fazer isso. Qualquer ajuda seria muito apreciada.

Editar:

Acabei de configurar alguns cron jobs para serem executados a cada minuto e definir as permissões:

*/1 * * * * chown -R www-data:www /var/www

*/1 * * * * chmod -R g+rw /var/www

Funciona, mas é desajeitado, e há um atraso de 1 minuto entre o upload de um novo código e o funcionamento quando eu bato na tecla F5 no meu navegador.

    
por user132770 17.02.2013 / 02:39

1 resposta

-1

Leia man 2 chmod , especialmente a parte que diz:

   S_ISGID  (02000)  set-group-ID (set process effective group ID on execve(2); mandatory locking, as described in  fcntl(2);  take  a
                     new file's group from parent directory, as described in chown(2) and mkdir(2))

Você provavelmente poderia usar isso para criar todos os arquivos criados no diretório no grupo www e alterar o valor umask do seu servidor da Web para 022

Para fazer isso com segurança, leia e releia man 2 chmod , man 2 open , man 2 stat e qualquer coisa apontada nas seções Veja também: . Saiba como o Linux lida com permissões de arquivos e diretórios para se divertir e / ou lucrar!

Você também pode instalar o inoticoming - trigger actions when files hit an incoming directory e fazer o que quiser sempre que um arquivo chegar.

    
por waltinator 21.01.2014 / 02:06