Eu finalmente consegui encontrar uma maneira de conseguir isso.
Depois de olhar o manual pela enésima vez, consegui encontrar a diretiva cmds_denied
que desabilita as instruções.
No meu caso, configurei para: cmds_denied=RMD,DELE
.
Estou tentando configurar um ambiente em que alguém faria o upload e, uma vez criado, perderia as permissões de exclusão e gravação.
Para isso, eu crio um usuário virtual com as seguintes configurações:
local_enable=YES
write_enable=YES
# Default Permissions: File: 400 ; Dir: 500
local_umask=0277
file_open_mode=0677
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
# Disable chmod
chmod_enable=NO
virtual_use_local_privs=YES
O problema é que, como quem fez o upload do arquivo continua sendo o proprietário, ele pode excluir o arquivo (mesmo que as permissões estejam definidas para 400).
Como eu seria capaz de fazer o upload de um usuário e, em seguida, não conseguir removê-lo por meio do FTP?
Eu finalmente consegui encontrar uma maneira de conseguir isso.
Depois de olhar o manual pela enésima vez, consegui encontrar a diretiva cmds_denied
que desabilita as instruções.
No meu caso, configurei para: cmds_denied=RMD,DELE
.