Debian, SysCP und proftpd

Fatalerweise hat das proftpd Paket einen User ftp mit dem Kennwort ! in der Standardkonfiguration, somit kann JEDER im Homeverzeichnis des ftp-Users z.B. ein Verzeichnis public_html anlegen und dort lustige php Skripte hochladen. Diese sind dann unter http://ServerIP/~ftp/script.php erreichbar. Deswegen in die /etc/proftpd.conf folgendes eintragen: AuthOrder mod_sql.c und auf der shell dies ausführen: “apache-modconf apache disable mod_userdir”.

User ohne Shell

Sollte man auf dem System keine nologin-Shell, z.B. für einen ftp-only User haben kann man das folgendermassen bewerkstelligen:

# cat <noshell.c && CFLAGS=-O3 LDFLAGS=-s make noshell

#include
main() {
puts (”Dieses Konto ist nicht verfügbar”);
sleep (3);
exit (0);
}
!

# cp noshell /bin/
# chmod +x /bin/nologin
# echo /bin/noshell >> /etc/shells

in der /etc/passwd nun den user auf die /bin/noshell setzen.

vsftpd – Login failed

Sollte ein Loginversuch an einem angeblich falschen Passwort kläglich scheitern, obwohl der Benutzer in /etc/vsftpd.user_list erlaubt und in /etc/ftpusers nicht verboten ist, so trage man

/bin/false

bzw. seine zugewiesene Shell in die /etc/shells ein