在 Ubuntu 上安装 vsftpd - 无法绑定侦听 IPv4 套接字?

在 Ubuntu 上安装 vsftpd - 无法绑定侦听 IPv4 套接字?

对于我的网络安全课程,我必须在虚拟机上设置 FTP 服务器。我们设置了 3 个虚拟机 - 网关、客户端和服务器。我已经使用以下命令安装了 vsftpd:

sudo apt-get install vsftpd

vsftpd-anon.conf然后我在以下位置创建了一个配置文件/etc/vsftpd/。该文件包含:

#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.168.50.5
listen_port=21

IP 地址 192.168.50.5 是我的服务器虚拟机的 eth0。当我运行命令时

sudo vsftpd /etc/vsftpd/vsftpd-anon.conf

我收到错误:

500 OOPS: could not bind listening IPv4 socket

为了检查端口 21 上正在运行的内容,我运行了以下命令:

sudo netstat -tulpn

并看到了这个:

在此输入图像描述

我发出命令:

sudo killserver 29383

并再次检查。仍然vsftpd存在,但 PID 不同。运行命令:

sudo killall vsftpd

做同样的事情。我已经尝试过重新安装。有人知道发生了什么事吗?

答案1

您确定错误的根本原因是正确的 -could not bind listening IPv4 socket意味着某些东西已经在侦听端口 21(默认 ftp 服务器端口)。

vsftpd正确停止当前正在运行的程序:

sudo service vsftpd stop

完成此操作后,使用自定义的初始化脚本启动守护进程:

sudo vsftpd /etc/vsftpd/vsftpd-anon.conf

一旦确认其正常工作,您将需要更改初始化脚本并禁用现有vsftpd服务,以便它不会在启动时自动启动。

答案2

您收到此错误可能是因为 xinetd ftp 正在运行。

下面提到的过程将解决以下错误:

A) 500 OOPS:无法绑定侦听 IPv4 套接字,对于 vsftpd

B) 连接后服务器立即挂起,对于 ncftpget

请按照以下步骤纠正错误:

1) 要查看正在运行的 ftp 服务,请使用

$ lsof -i | lsof -i grep ftp

2)停止xinetd:

$ sudo 服务 xinetd 停止

3) 停止 xinetd 后,输入以下命令重新启动 vsftpd 服务:

$ /etc/init.d/vsftpd restart (成为 root 并运行此命令)

4) 还用这个检查 vsftpd.conf

听=是

本地启用=是

写启用=是

本地掩码=022

dirmessage_enable=是

use_localtime=YES

xferlog_enable=是

secure_chroot_dir=/var/run/vsftpd/空

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/private/vsftpd.pem

相关内容