Решил установить vsftpd. Взял последнюю версию (2.0.5) отсюда:
http://vsftpd.devnet.ru/rus/ ибо нужна была возможность перекодировки на лету.
Цель была следующая - вход для пользователей, плюс полные права для анонимуса в /var/ftp/globus
Собрал, подправил конфиг:
Код:
[corpse@server ~]$ cat /etc/vsftpd.conf
anonymous_enable=YES
anon_umask=666
anon_root=/var/ftp/globus
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
chown_uploads=YES
chown_username=ftp
local_enable=YES
local_umask=666
chroot_local_user=YES
user_config_dir=/etc/vsftpd/user_conf
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
write_enable=YES
dirmessage_enable=YES
idle_session_timeout=600
connect_from_port_20=NO
ftpd_banner=Welcome to corpse FTP server.
convert_charset_enable=1
local_charset=KOI8R
remote_charset=WIN1251
listen=YES
Когда я захожу из подсетей того провайдера, к которому подключен сервер, то всё замечательно. Хоть для пользователя, хоть для анонимуса.
Код:
Connected to **** (****).
220 Welcome to corpse FTP server.
Name (****:corpse): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
dr-xr-xr-x 2 14 50 6 Oct 12 21:22 incoming
dr-xr-xr-x 2 14 50 6 Oct 12 21:22 pub
226 Directory send OK.
ftp>
Причём результат не зависит от того с серого ip из внутренней подсети я на него захожу, или с того, что выдаётся по диалапу или с белого - всё работает так, как и должно работать, всё замечательно. Но если я пытаюсь зайти из других подсетей, то авторизация проходит, можно даже сменить директорию, если знаешь, её имя, но при попытке посмотреть содержимое каталога получаем следующее:
Код:
Connected to **** (****).
220 Welcome to corpse FTP server.
Name (****:corpse): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
ftp> cd incoming
250 Directory successfully changed.
ftp>
Почему так происходит и как это исправить?