一、安装vsftpd
在CentOS系统上,使用yum包管理器安装vsftpd(Very Secure FTP Daemon),这是CentOS下常用的安全FTP服务器软件:
sudo yum install vsftpd -y
安装完成后,通过rpm -qa | grep vsftpd命令验证是否安装成功。
二、配置vsftpd以支持远程管理
vsftpd的核心配置文件位于/etc/vsftpd/vsftpd.conf,需修改以下关键参数以保障远程访问的安全性与功能性:
local_enable=YES
write_enable=YES
/home/username),防止越权访问系统文件。chroot_local_user=YES
allow_writeable_chroot=YES # 允许家目录具有写权限(避免“500 OOPS”错误)
pasv_enable=YES
pasv_min_port=50000 # 起始端口(建议1024-65535之间)
pasv_max_port=51000 # 结束端口
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/certs/vsftpd.pem # 证书路径(需提前生成或申请)
rsa_private_key_file=/etc/ssl/private/vsftpd.key # 私钥路径
修改完成后,保存配置文件并重启vsftpd服务使更改生效:
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd # 设置开机自启
三、配置防火墙允许FTP流量
若服务器开启了firewalld防火墙,需放行FTP相关端口(控制通道21/tcp、被动模式端口范围):
# 放行FTP服务(自动包含21/tcp)
sudo firewall-cmd --permanent --add-service=ftp
# 放行被动模式端口范围
sudo firewall-cmd --permanent --add-port=50000-51000/tcp
# 重新加载防火墙规则
sudo firewall-cmd --reload
四、创建FTP用户并设置权限 为远程管理创建专用FTP用户(避免使用root账户),并设置其家目录权限:
# 创建用户(如“ftpadmin”)
sudo adduser ftpadmin
# 设置用户密码
sudo passwd ftpadmin
# 修改家目录权限(确保用户可读写)
sudo chown -R ftpadmin:ftpadmin /home/ftpadmin
sudo chmod 700 /home/ftpadmin
五、使用FTP客户端远程连接 通过FTP客户端(如FileZilla、WinSCP)连接服务器,输入以下信息:
连接成功后,可实现文件的上传、下载、删除、目录创建等远程管理操作。
六、安全加固建议
anonymous_enable=NO写入配置文件,避免未授权访问。sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="21" accept')。sudo yum update vsftpd命令更新vsftpd至最新版本,修复安全漏洞。