Zugegeben, die möglichen Anwendungsfälle liegen nicht an jeder Straßenecke herum – aber vielleicht sucht ja jemand genau wie ich irgendwann einmal nach der Möglichkeit, gewisse FTP-Kommandos (hier halt das Löschen von Dateien) zu verbieten.
Direkt beim ersten Verdächtigen, dem “besten” FTP-Server vsftpd, wird man auch fündig – benötigt wird jedoch eine einigermaßen aktuelle Version, d.h. Debian Stable ist wie immer zu alt ;) vsftpd bringt nicht nur die Direktive cmds_allowed mit, sondern in aktuellen Versionen auch das gewünschte cmds_denied. Um nun das Löschen von Dateien wirksam zu unterbinden genügt folgender Schnipsel in der vsftpd.conf (bei der Gelegenheit wird das Löschen von Verzeichnissen ebenfalls unterbunden):
cmds_denied=DELE,RMD
Ich benutze ein ziemliches komplexes Setup mit verschiedenen virtuellen Usern.
In Verbindung mit der Option “user_config_dir” kann man zum Beispiel das Löschen grundsätzlich verbieten und nur für bestimmte User eine Ausnahme schaffen.
Beispiel:
/etc/vsftpd/vsftpd.conf
cmds_denied=DELE,RMD
/etc/vsftpd/user_conf/ftpadmin
cmds_denied=
Hebt das Verbot für den virtuellen User “ftpadmin” wieder auf.