我正在尝试在 VM (CentOS 7) 中设置 FTP 服务器。没有运行 firewalld 或 iptables 服务。我已经安装了 vstpd 服务并启用了它。以下是 vsftpd.conf 中启用的属性
- 匿名_启用=是
- 本地启用=是
- 写启用=是
- 本地掩码=022
- dirmessage_enable=YES
- xferlog_enable=是
- connect_from_port_20=是
- chroot_local_user=是
- 允许_writeable_chroot=YES
- Listen_ipv6=是
- pam_service_name=vsftpd
- 用户列表启用=是
- tcp_wrappers=是
- pasv_enable=是
- pasv_max_port=6000
- pasv_min_port=6000
[root@L00096a ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
SELinux 已启用。这是sebool。我已经打开 ftpd_full_access
[root@L00096a ~]# getsebool -a | grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> on
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> on
[root@L00096a ~]# netstat -lt
tcp6 0 0 [::]:ftp [::]:* LISTEN
VM 正在运行 sshd 服务,并且我使用 root 凭据。我尝试在浏览器中输入 IP,ftp://<ip>
希望它能显示 ftp 页面,但没有。当我尝试从 filezilla 客户端时,我看到 421 服务不可用错误。
我不是 Linux 专家,只是想建立一个 FTP 服务器来测试我的代码。谁能告诉我下一步应该检查什么?看起来 21 端口已启用?请指导。
答案1
我使用 root 凭据
vsftpd
默认情况下不允许以 root 身份登录 - 这是 100% 不安全的,因为密码是通过网络以纯文本形式发送的。
要在 中启用 root 用户vsftpd
,请root
从 中删除/etc/vsftpd/ftpusers
并/etc/vsftpd/user_list
重新启动它 ( systemctl restart vsftpd
)。
我现在已经验证一切正常:
vsftpd
我已经在 VirtualBox 中以默认配置(没有改变任何东西)安装在 CentOS 7 中- SeLinux 也默认处于打开状态 (
enforcing
), - 我
firewall-cmd --zone=public --permanent --add-service=ftp
跟着跑去firewall-cmd –-reload
允许它通过防火墙。
我可以使用 root 从我的主机 PC FTP 到我的虚拟 PC。
您看到的错误可能是由于您的 FTP 客户端造成的。午夜指挥官和普通老人ftp
都在这里工作。