Negar exclusão após o upload do SFTP

1

Gostaria de evitar que os usuários excluam arquivos que eles enviaram para o meu servidor sftp. Eu sei que eu poderia configurar uma solução própria usando inotify / dnotify (ou pam hook) e lsof que aciona um script para fazer algo como chattr +i $filename depois que um arquivo é carregado e fechado. Mas eu me pergunto se há algo já disponível como um recurso ou uma solução já verificada e disponível, da qual não tenho conhecimento.

A configuração atual é que estou usando o opensft sftp e os usuários são presos ao se conectar.

    
por RaWkStAr 18.08.2015 / 19:22

2 respostas

1

Veja o lsyncd ( link ). Ele fornecerá parte de ação inotify = > para sua solução. Será assim:

cat /etc/lsyncd.conf 
settings {
    logfile    = "/var/log/lsyncd.log",
    statusFile = "/var/run/lsyncd.status",
    nodaemon   = false,
    insist     = true,
}

-- config action
my_config = {
    delay = 10,
    maxProcesses = 1,
    onCreate  = "chattr +i -R /path/to/dir/*",
}

sync { my_config,
    source="/path/to/dir/",
}
-- EOF

você pode mudar a ação onCreate para obter uma melhor lógica, talvez executar um script que irá encontrar arquivos enviados e definir chattr + i.

    
por 18.08.2015 / 20:56
0

Se você adicionar sua opção sftp-server umask -u com o parâmetro 0222 , novos arquivos enviados serão criados com umask mencionada acima, o que significa que eles não terão acesso de gravação para seus arquivos, então eles não poderão para apagar os arquivos.

A linha no seu sshd_config será parecida com esta:

Subsystem sftp internal-sftp -u 0222
    
por 18.08.2015 / 20:49

Tags