我必须在我的机器上设置一个 FTP 服务器。我已经使用以下命令安装了 vsftpd:
sudo apt-get install vsftpd
vsftpd.conf
然后我编辑了location 中的配置文件/etc
。该文件包含:
#Set the server to run in standalone mode
listen=YES
#Enable anonymous access
local_enable=NO
anonymous_enable=YES
#Disable write access
write_enable=NO
#Set root directory for anon connections
anon_root=/var/ftp
#Limit retrieval rate
anon_max_rate=2048000
#Enable logging user login and file transfers. /var/log/vsftpd.log
xferlog_enable=YES
#Set interface and port
listen_address=192.120.43.250
listen_port=21
IP 地址 192.120.43.250 是我的服务器的 eth0。当我运行命令时
sudo vsftpd /etc/vsftpd.conf
我收到错误:
500 OOPS: could not bind listening IPv4 socket
为了检查端口 21 上正在运行的内容,我运行了以下命令:
sudo netstat -tulpn
并看到 vsftpd 进程 ID 是29383所以我发出命令:
sudo killserver 29383
并再次检查。仍然vsftpd
存在,但 PID 不同。运行命令:
sudo killall vsftpd
和
sudo killall -9 vsftpd
做同样的事情。我已经尝试过重新安装。有人知道发生了什么事以及如何解决它吗?
答案1
记得评论出来
listen=YES
在您的vsftpd.conf
文件中,这样您就不会vsftpd
以独立模式运行
它解决了我的问题。
答案2
您收到此错误可能是因为 xinetd ftp 正在运行。
下面提到的过程将解决以下错误:
A) 500 OOPS:无法绑定侦听 IPv4 套接字,对于 vsftpd
B) 连接后服务器立即挂起,对于 ncftpget
请按照以下步骤纠正错误:
要查看正在运行的 ftp 服务,请使用:
$ lsof -i | grep ftp (Become root and run this command)
要停止 xinetd:
$ sudo service xinetd stop
停止 xinetd 后,输入以下命令重新启动 vsftpd 服务:
$ /etc/init.d/vsftpd restart (Become root and run this command)
另请检查 vsftpd.conf:
listen=YES local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem
答案3
就我而言,错误是由于进程正在运行造成的。
尝试下一个:
$ sudo service vsftpd restart
该服务应使用新的配置参数(如果有)重新启动。
答案4
就我而言,取消注释以下行vsftpd.conf
解决了问题:
write_enable=YES