CentOS7架设FTP服务器:基于vsftpd的完整部署指南
环境准备与软件安装
通过SSH登录CentOS7系统后,执行以下命令安装vsftpd服务:
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
开放防火墙21号端口及被动模式端口范围(示例使用30000-31000):
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=30000-31000/tcp
firewall-cmd --reload
用户与目录权限配置
创建专用FTP用户并设置访问限制:
useradd -d /data/ftproot -s /sbin/nologin ftpuser
passwd ftpuser
chmod 750 /data/ftproot
修改/etc/vsftpd/vsftpd.conf
核心配置参数:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
SELinux策略调整
启用FTP相关SELinux布尔值:
setsebool -P ftpd_full_access=on
setsebool -P ftp_home_dir=on
服务测试与验证
重启服务后验证运行状态:
systemctl restart vsftpd
systemctl status vsftpd
使用FileZilla或命令行工具测试连接:
ftp 127.0.0.1
高级安全配置建议
- 启用SSL/TLS加密:修改配置启用
ssl_enable=YES
并配置证书路径 - IP访问控制:通过
vsftpd.ftpusers
和vsftpd.user_list
限制用户访问 - 日志监控:启用
xferlog_enable=YES
记录传输详情 - 速率限制:设置
local_max_rate
和anon_max_rate
控制带宽