在CentOS操作系统上安装vsftpd(Very Secure FTP Daemon)是一个相对简单的过程,但需要对系统配置和安全设置进行一些调整,以下是详细的步骤和相关说明。
一、安装前的准备工作
1、检查是否已安装vsftpd:

- rpm qa | grep vsftpd
如果已经安装,可以选择卸载并重新安装,以确保配置的一致性。
2、更新软件包(可选):
- sudo yum update
二、安装vsftpd
1、安装vsftpd:
- sudo yum install y vsftpd
2、启动vsftpd服务并设置为开机自启:
- sudo systemctl start vsftpd
- sudo systemctl enable vsftpd
3、查看vsftpd服务状态:
- sudo systemctl status vsftpd
三、配置vsftpd
1、备份原始配置文件(可选):

- sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
2、编辑vsftpd配置文件:
- sudo vi /etc/vsftpd/vsftpd.conf
基本配置:
- anonymous_enable=NO
- local_enable=YES
- write_enable=YES
- local_umask=022
- dirmessage_enable=YES
- xferlog_enable=YES
- connect_from_port_20=YES
- xferlog_std_format=YES
- chroot_local_user=YES
- allow_writeable_chroot=YES
- listen=YES
- listen_ipv6=NO
- pam_service_name=vsftpd
- userlist_enable=YES
- tcp_wrappers=YES
- local_root=/home/$USER
- user_sub_token=$USER
- userlist_deny=NO
- userlist_file=/etc/vsftpd/user_list
- pasv_enable=YES
- pasv_min_port=30010
- pasv_max_port=30015
- pasv_address={vsftpd服务器的公网IP}
解释:
anonymous_enable=NO
:禁用匿名登录。
local_enable=YES
:允许本地用户登录。
write_enable=YES
:允许写操作。

local_umask=022
:设置本地用户的默认文件掩码为022。
dirmessage_enable=YES
:启用目录消息功能。
xferlog_enable=YES
:启用上传下载记录。
connect_from_port_20=YES
:通过20端口建立数据连接。
xferlog_std_format=YES
:使用标准格式记录日志。
chroot_local_user=YES
:限制本地用户在其主目录中。
allow_writeable_chroot=YES
:允许在chroot环境中写操作。
listen=YES
:监听所有IP地址。
listen_ipv6=NO
:禁用IPv6监听。
pam_service_name=vsftpd
:指定PAM服务名称为vsftpd。
userlist_enable=YES
:启用用户列表。
tcp_wrappers=YES
:启用TCP包装器。
local_root=/home/$USER
:设置本地用户的根目录为其主目录。
user_sub_token=$USER
:用户子令牌为用户用户名。
userlist_deny=NO
:不拒绝用户列表中的用户。
userlist_file=/etc/vsftpd/user_list
:指定用户列表文件。
pasv_enable=YES
:启用被动模式。
pasv_min_port
和pasv_max_port
:指定被动模式的端口范围。
pasv_address
:指定vsftpd服务器的公网IP。
3、创建FTP用户:
- sudo adduser ftpUser
- sudo passwd ftpUser
4、创建FTP目录并设置权限:
- sudo mkdir p /home/ftpUser/ftp
- sudo chown R ftpUser:ftpUser /home/ftpUser/ftp
- sudo chmod 755 /home/ftpUser/ftp
5、添加FTP用户到用户列表:
- echo "ftpUser" >> /etc/vsftpd/user_list
四、防火墙配置
1、使用firewalld管理防火墙:
- sudo firewallcmd permanent addport=21/tcp
- sudo firewallcmd permanent addservice=ftp
- sudo firewallcmd reload
2、使用iptables管理防火墙:
- sudo iptables A INPUT p tcp dport 20 j ACCEPT
- sudo iptables A INPUT p tcp dport 21 j ACCEPT
- sudo service iptables save
- sudo service iptables restart
五、SELinux配置(可选)
如果SELinux导致问题,可以暂时关闭它:
- sudo setenforce 0
- sudo sed i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
六、测试FTP服务
可以使用FTP客户端软件(如filezilla、WinSCP等)测试FTP服务器的连接和文件传输功能,使用命令行方式测试:
- ftp IP地址 用户名 密码
- ftp 192.168.1.100 ftpUser password
是CentOS安装vsftpd的详细步骤和配置说明,为了确保系统的安全性,建议在生产环境中进行充分的测试和验证。