ProFTPd是一个开源FTP守护程序,ProFTPd是一种开源FTP守护程序,由于其能实现粒度更细的权限配置能力而被广泛使用。 这是为CentOS 7以及CentOS 6及以下版本提供安装方法的指南。 您可以在项目的网站上阅读有关ProFTPD的更多信息。
安装ProFTPD
ProFTPD位于EPEL存储库中,您需要先安装它:
yum -y install epel-release
运行yum更新以确保所有内容都是最新的
yum -y update
开始安装ProFTPD
yum -y install proftpd
配置ProFTPD
nano /etc/proftpd.conf
更改服务器名称:
ServerName "ProFTPD server"
到您的服务器主机名。 然后继续保存文件。
启用并启动Proftpd
继续并重新启动该服务并启用它。
在CentOS 7上:
重启服务:
systemctl restart proftpd
确保重启后服务将启动:
systemctl enable proftpd
在CentOS 6(及以下):
重启服务:
service proftpd restart
确保服务将在重新启动时启动:
chkconfig --add proftpd chkconfig proftpd on
Enable FTP in the firewall
如果您当前正在使用防火墙,则需要允许传入的FTP连接。
Firewalld
允许传入端口:
firewall-cmd --permanent --add-port=21/tcp
然后重新加载防火墙:
firewall-cmd --reload
Iptables
添加新规则:
iptables -A INPUT -p tcp -m tcp --dport 20:21 -j ACCEPT
保存新的防火墙规则集:
iptables-save > /etc/sysconfig/iptables
在ProFTPD中启用被动连接
被动模式有时可以解决某些客户端连接到可能已被防火墙阻止的FTP服务器的能力。 如果您在远程连接时遇到问题,希望您尝试在ProFTPD中启用被动连接,则需要编辑/etc/proftpd.conf
nano /etc/proftpd.conf
并添加以下行:
PassivePorts 60000 65535 AllowStoreRestart on AllowRetrieveRestart on TimeoutNoTransfer 65535 ListOptions "-la" TimeoutIdle 65535
然后,您还需要在防火墙中添加被动范围
iptables的:
添加新规则:
iptables -A INPUT -p tcp -m tcp --dport 60000:65535 -j ACCEPT
保存规则集:
iptables-save > /etc/sysconfig/iptables
Firewalld:
添加新端口范围:
firewall-cmd --permanent --add-port=60000-65535/tcp
重新加载防火墙:
firewall-cmd --reload
测试FTP服务
您可以首先在本地测试FTP配置,以确保使用netstat运行守护程序
# netstat -plan|grep :21 tcp6 0 0 :::21 :::* LISTEN 22089/proftpd: (acc
您也可以通过安装ftp客户端在本地连接
yum install -y ftp
然后建立到localhost或127.0.0.1的连接
# ftp localhost Trying ::1... Connected to localhost (::1). 220 FTP Server ready. Name (localhost:root):
并输入有效的用户名和密码,它应该进行身份验证。 如果它不允许您进入,则认证消息将写入/var/log/secure。