Ich benötige einen einfachen FTP-Server unter Linux (CentOS 5.5) ohne Sicherheitsmaßnahme, da sich der Server und die Clients in einem Test-LAN befinden, das nicht mit dem Rest des Netzwerks verbunden ist und selbst nicht routbare IPs hinter einer NAT-Firewall verwendet ohne eingehenden Zugriff auf FTP.
Einige Leute empfehlen Vsftpd über PureFTPd oder ProFTPd . Egal was ich versuche, ich kann es nicht zulassen, dass ein anonymer Benutzer (dh als "ftp" oder "anonym" protokolliert und eine beliebige Zeichenfolge als Kennwort eingibt) eine Datei hochlädt:
# yum install vsftpd
# mkdir /var/ftp/pub/upload
# cat vsftpd.conf
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
xferlog_file=YES
#anonymous users are restricted (chrooted) to anon_root
#directory was created by root, hence owned by root.root
anon_root=/var/ftp/pub/incoming
anon_upload_enable=YES
anon_mkdir_write_enable=YES
#chroot_local_user=NO
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
chown_uploads=YES
Wenn ich mich von einem Client aus anmelde, bekomme ich Folgendes:
500 OOPS: Verzeichnis kann nicht geändert werden: / var / ftp / pub / incoming
Ich habe auch "# chmod 777 / var / ftp / incoming /" ausprobiert, erhalte aber den gleichen Fehler.
Weiß jemand, wie man Vsftpd mit minimaler Sicherheit konfiguriert?
Vielen Dank.
Bearbeiten: SELinux ist deaktiviert und hier sind die Dateiberechtigungen:
# cat /etc/sysconfig/selinux
SELINUX=disabled
SELINUXTYPE=targeted
SETLOCALDEFS=0
# sestatus
SELinux status: disabled
# getenforce
Disabled
# grep ftp /etc/passwd
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
# ll /var/
drwxr-xr-x 4 root root 4096 Mar 14 10:53 ftp
# ll /var/ftp/
drwxrwxrwx 2 ftp ftp 4096 Mar 14 10:53 incoming
drwxr-xr-x 3 ftp ftp 4096 Mar 14 11:29 pub
Bearbeiten: neueste vsftpd.conf:
listen=YES
local_enable=YES
write_enable=YES
xferlog_file=YES
#anonymous users are restricted (chrooted) to anon_root
anonymous_enable=YES
anon_root=/var/ftp/pub/incoming
anon_upload_enable=YES
anon_mkdir_write_enable=YES
#500 OOPS: bad bool value in config file for: chown_uploads
chown_uploads=YES
chown_username=ftp
Bearbeiten: Wenn der nachfolgende Speicherplatz aus "chown_uploads" entfernt wurde, ist err 500 behoben, aber anonym funktioniert immer noch nicht:
client> ./ftp server
Connected to server.
220 (vsFTPd 2.0.5)
Name (server:root): ftp
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/var/ftp/pub/incoming
Login failed.
ftp> bye
Wenn der Benutzer "ftp" in / etc / passwd aufgeführt ist und das Ausgangsverzeichnis auf "/ var / ftp" und die Zugriffsrechte auf / var / ftp auf "drwxr-xr-x" und / var / ftp / auf "drwxrwxrwx" eingestellt sind ... könnte es vielleicht an PAM liegen? Ich finde keine FTP-Protokolldatei in / var / log, die untersucht werden könnte.
Bearbeiten: Hier ist eine funktionierende Konfiguration, mit der ftp / anonym eine Verbindung herstellen und Dateien nach / var / ftp hochladen kann:
listen=YES
anonymous_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES