CentOS 部署 vsftp:实现安全高效的文件传输
随着网络技术的不断发展,文件传输成为企业内部和外部沟通的重要手段,vsftp(Very Secure FTP)是一款开源的FTP服务器软件,以其安全性、稳定性和易用性而受到广大用户的青睐,本文将详细介绍如何在CentOS操作系统上部署vsftp,并对其配置进行优化,以实现安全高效的文件传输。

安装vsftp
检查是否已安装vsftp
rpm -qa | grep vsftpd
如果返回结果为空,则表示vsftp尚未安装。
安装vsftp
sudo yum install vsftpd
启动vsftp服务
sudo systemctl start vsftpd
设置vsftp服务开机自启
sudo systemctl enable vsftpd
配置vsftp
修改vsftp配置文件
sudo vi /etc/vsftpd/vsftpd.conf
优化配置文件
以下是一些常用的配置选项:

| 配置选项 | 说明 |
|---|---|
| anonymous_enable=NO | 禁用匿名登录 |
| local_enable=YES | 允许本地用户登录 |
| write_enable=YES | 允许用户上传文件 |
| chroot_local_user=YES | 将用户限制在主目录下 |
| allow_writeable_chroot=YES | 允许用户在主目录下创建文件 |
| userlist_enable=YES | 启用用户列表功能 |
| userlist_deny=NO | 允许用户列表中的用户登录 |
修改用户权限
sudo chown root:root /var/ftp sudo chmod 755 /var/ftp
安全加固
设置防火墙规则
sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --reload
使用SELinux策略
sudo setenforce 0
使用SSH密钥认证
生成SSH密钥对
ssh-keygen -t rsa -b 2048
将公钥复制到vsftp用户的主目录
ssh-copy-id -i ~/.ssh/id_rsa.pub vsftp@your_server_ip
修改vsftpd配置文件,启用SSH密钥认证
sudo vi /etc/vsftpd/vsftpd.conf
添加以下行:
allow_anon_login=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO 测试vsftp

使用FTP客户端连接服务器
使用SSH密钥认证登录
FAQs
问题:vsftp安装完成后无法启动,如何解决?
解答:
- 检查vsftp服务是否已安装,使用
rpm -qa | grep vsftpd命令查询。 - 检查vsftp配置文件是否存在错误,使用
sudo vi /etc/vsftpd/vsftpd.conf打开配置文件,检查配置项是否正确。 - 检查防火墙规则,确保FTP端口(21)已开放。
- 检查vsftp服务是否已安装,使用
问题:如何将用户限制在主目录下?
解答:
- 在vsftpd配置文件中,设置
chroot_local_user=YES和allow_writeable_chroot=YES。 - 使用
sudo chown root:root /var/ftp和sudo chmod 755 /var/ftp命令修改FTP主目录权限。
- 在vsftpd配置文件中,设置

