Ftp – vsftpd error: 500 OOPS: vsf_sysutil_bind

ftpvsftpd

I'm trying to use Filezilla on Windows to connect to a linux ec2 instance running vsftpd 2.3.5 (have also tried 2.3.2 with identical results) but the server keeps responding with 500 OOPS: vsf_sysutil_bind and then a secondary error that differs depending on whether I'm using active or passive mode (see logs below).

This setup was working fine a couple days ago. As far as I can discern, nothing has changed in the server's configuration but now you get thrown out immediately after connecting. I've restarted vsftpd but haven't yet restarted the server itself. What could cause this behavior, why would it crop up suddenly, and how can I fix it?

If I use active mode, the client-side log is as follows:

...
Response:   230 Login successful.
Command:    OPTS UTF8 ON
Response:   200 Always in UTF8 mode.
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/"
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PORT 192,168,1,101,250,178
Response:   200 PORT command successful. Consider using PASV.
Command:    LIST
Response:   500 OOPS: vsf_sysutil_bind
Error:  Failed to retrieve directory listing
Response:   500 OOPS: priv_sock_get_cmd
Error:  Connection closed by server

If I connect with passive mode, the client-side log is a little different:

....
Response:   230 Login successful.
Command:    SYST
Response:   215 UNIX Type: L8
Command:    FEAT
Response:   211-Features:
Response:    EPRT
Response:    EPSV
Response:    MDTM
Response:    PASV
Response:    REST STREAM
Response:    SIZE
Response:    TVFS
Response:    UTF8
Response:   211 End
Command:    OPTS UTF8 ON
Response:   200 Always in UTF8 mode.
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/"
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PASV
Response:   500 OOPS: vsf_sysutil_bind
Command:    PORT 192,168,1,101,249,253
Response:   500 OOPS: priv_sock_get_int
Error:  Failed to retrieve directory listing
Error:  Connection closed by server

Either way, the vsftpd log just says:

Tue Dec 27 23:32:18 2011 [pid 19875] CONNECT: Client "XXX.XXX.XXX.XXX"
Tue Dec 27 23:32:18 2011 [pid 19874] [username] OK LOGIN: Client "XXX.XXX.XXX.XXX"

My vsftpd.conf is:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=900
ftpd_banner=Welcome to FTP
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=12000
pasv_max_port=12100
pasv_address=XXX.XXX.XXX.XXX
port_enable=YES
port_promiscuous=YES
user_config_dir=/etc/vsftpd/users

Best Answer

I was having trouble with this issue for the past few days, at first I followed the route of the one answer of installing proftpd. That did not pan out as I'd hoped so I tried pure-ftpd, failing that I reverted back to vsftpd, what solved the issue for me was increasing the amount of passive ports, I had previously only allowed the range 10090:10100, which is only 10 ports.

I've since allowed a greater range of ports for vsftpd and it has solved my issue, I no longer get that error when uploading long lists of files with 10 files at a time.

Hope it helps anyone who runs into this issue next time.