Linux: impede que os usuários de SFTP excluam arquivos com FTP, mesmo depois de carregá-los?

1

Eu configurei um grupo de sftpusers na minha caixa do CentOS e estou usando o serviço SFTP interno para permitir que os usuários façam upload de arquivos para um diretório configurado pelo chroot.

O proprietário do diretório é root, e seu grupo é sftpusers, e eles têm permissão de leitura / gravação, o que permite fazer upload de arquivos via SFTP.

O que eu gostaria é de impedir a exclusão e a leitura de arquivos remotos logo após enviá-los, para que qualquer coisa que eles enviem permaneça lá permanentemente, e outras pessoas usando o mesmo login possam ' leia ou elimine os ficheiros uns dos outros.

Então, minhas perguntas:

1) Existe uma maneira de fazer isso usando permissões simples?

2) Existe uma maneira de definir as "permissões padrão" de todos os arquivos enviados por um membro do grupo sftpusers? Então, uma vez que eles fazem upload de um arquivo, ele é automaticamente não legível ou o que for?

3) Existe outra maneira de fazer isso que não envolve um script cron executando a cada minuto ou o que quer que seja para alterar as permissões?

4) Existe uma maneira de executar um script (ou desencadear algum evento) logo após o upload de um arquivo? Algum tipo de coisa do tipo de evento "onFileFinishUpload" que eu posso ligar de alguma forma?

Felicidades!

    
por Robert Hawkins 02.09.2012 / 00:10

1 resposta

2

Desculpas eu não tenho reputação suficiente aqui para postar todos os links em linha. Eu preparei uma essência que os preserva: link

  1. Não há como conseguir isso com permissões simples. Devido ao servidor sftp do OpenSSH você não será capaz de implementar a lista completa de requisitos, mas dependendo do sistema de arquivos para o qual os arquivos estão sendo enviados, você pode aproveitar [atributos] e [ACLs] para alcançar alguns dos seus requisitos. >

  2. Sim, o [sftp-server recebe um parâmetro -u] (você pode definir isso no seu [sshd_config] na linha Subsystem sftp ), que define o umask para todos os uploads .

  3. Sim, você pode usar o inotify, uma forma de usar a ferramenta [incron], embora haja muitas maneiras de usar o inotify. Inotify permite que o kernel notifique um programa de espaço do usuário em um evento do sistema de arquivos que você identifica, por exemplo, adicionando um arquivo a um diretório. Você pode então executar um comando neste evento.

    (3 Parte 2) Uma abordagem alternativa que pode não ser adequada para você é usar algo como o vsftpd com FTP protegido por SSL. Isso permite FTP criptografado, mas como o vsftpd é um servidor FTP com todos os recursos, ele fornece uma configuração simples (consulte o parâmetro [chown_uploads] em vsftpd.conf) para corresponder exatamente às suas necessidades.

  4. Sim, através do subsistema inotify, você pode registrar um relógio para o evento [IN_CLOSE_WRITE].

por 02.09.2012 / 01:20