在 CentOS 系统中,要实现 vsftpd 的目录列表功能,你需要按照以下步骤操作:
sudo yum install vsftpd
/etc/vsftpd/vsftpd.conf
。使用文本编辑器打开,如:sudo vi /etc/vsftpd/vsftpd.conf
# 将 dirmessage_enable 设置为 YES,以启用目录消息
dirmessage_enable=YES
# 将 xferlog_enable 设置为 YES,以启用传输日志
xferlog_enable=YES
# 将 connect_from_port_20 设置为 YES,以允许数据连接使用端口 20
connect_from_port_20=YES
# 将 pasv_enable 设置为 YES,以启用被动模式
pasv_enable=YES
# 设置被动模式的端口范围,例如设置为 50000-50100
pasv_min_port=50000
pasv_max_port=50100
# 将 userlist_enable 设置为 YES,以启用用户列表
userlist_enable=YES
# 将 userlist_file 设置为用户列表文件的路径,例如设置为 /etc/vsftpd/user_list
userlist_file=/etc/vsftpd/user_list
# 将 userlist_deny 设置为 NO,以允许用户列表中的用户访问
userlist_deny=NO
保存并关闭配置文件。
重启 vsftpd 服务以使更改生效:
sudo systemctl restart vsftpd
创建一个用户列表文件 /etc/vsftpd/user_list
,并在其中添加允许访问的用户名,每行一个用户名。
确保防火墙允许 FTP 服务的端口。例如,如果你使用的是 firewalld,可以运行以下命令:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-port=20/tcp
sudo firewall-cmd --permanent --add-port=50000:50100/tcp
sudo firewall-cmd --reload
现在,当你使用 FTP 客户端连接到服务器时,应该可以看到目录列表。