Permitir que usuários baixem arquivos via SFTP, exclua arquivos, mas não adicione ou modifique

3

Eu tenho um servidor SFTP no CentOS 7.4 (através do padrão sshd ), e quero ajustar o servidor para que os usuários possam baixar arquivos em seus diretórios, deletar arquivos em seus diretórios, mas não fazer upload de novos arquivos ou sobrescrever arquivos.

Eu posso usar chmod para definir rw , mas não quero que os usuários possam fazer o upload de novos arquivos ou modificá-los, basta baixá-los.

Existe algum truque que eu possa usar aqui? (Parece que a maioria das pessoas quer bloquear exclusões e permitir adições / modificações, eu quero o oposto.)

Eu também tenho o SELinux ativado e funcionando, se isso ajudar também.

O mais próximo que obtive é chmod 555 , chown para o usuário, mas não consigo excluir o arquivo, apenas o leio. Se eu chmod 755 para o diretório, eu posso ler e excluir arquivos, e não posso modificar os arquivos existentes, mas ainda posso adicionar novos arquivos.

Além disso, a parte apropriada do meu /etc/ssh/sshd_config :

Match Group sftpusers
    ChrootDirectory /zfspool/sftp/%s
    ForceCommand internal-sftp

Todo o resto é o padrão. O servidor SFTP é:

Subsystem    sftp    /user/libexec/openssh/sftp-server
    
por 202_accepted 29.06.2018 / 16:10

1 resposta

0

Você pode fazer isso usando o recurso de lista negra do sftp-server, no seu sshd_config, set:

Subsystem       sftp    /usr/libexec/openssh/sftp-server -P write

ou alternativamente se estiver usando o interno-sftp:

ForceCommand internal-sftp -P write

Você pode controlar as solicitações permitidas no modo de lista branca / negra, veja man sftp-server e sftp-server -Q requests para obter a lista de solicitações disponíveis em seu servidor.

    
por 29.06.2018 / 20:05