在Centos上安装vsftp是一个相对简单的过程,以下是详细的步骤和配置指南。
一、安装 vsftpd
1、查看是否已安装 vsftpd:首先检查系统是否已经安装了 vsftpd,如果未安装,则进行下一步安装。

- rpm qa | grep vsftpd
2、安装 vsftpd:使用yum
命令安装 vsftpd。
- yum install y vsftpd
3、设置开机自启动并启动服务:
- systemctl enable vsftpd
- systemctl start vsftpd
4、确认 vsftpd 服务正常监听:通过以下命令检查服务是否正常运行。
- netstat antup | grep ftp
二、配置 vsftpd
1、创建用户和目录:为了测试 FTP 服务器,创建一个新用户并设置密码。
- adduser ftpuser
- passwd ftpuser
为 FTP 服务创建一个文件目录并修改目录权限。
- mkdir /var/ftp/ftpUser
- chown R ftpuser:ftpuser /var/ftp/ftpUser
2、修改 vsftpd 配置文件:编辑 vsftpd 的配置文件/etc/vsftpd/vsftpd.conf
。

- vim /etc/vsftpd/vsftpd.conf
修改以下内容:
- anonymous_enable=NO
- local_enable=YES
- write_enable=YES
- local_root=/var/ftp/ftpUser
- allow_writeable_chroot=YES
- pasv_enable=YES
- pasv_min_port=40000
- pasv_max_port=45000
- pasv_promiscuous=YES
- pam_service_name=vsftpd
- chroot_local_user=YES
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd/chroot_list
3、创建例外用户名单:编辑chroot_list
文件,添加例外用户名单。
- vim /etc/vsftpd/chroot_list
输入例外用户名单(例如ftpuser
),保存并退出。
4、重启 vsftpd 服务:使配置生效。
- systemctl restart vsftpd
三、防火墙配置
1、开放端口:确保防火墙允许 FTP 流量。
- firewallcmd zone=public addport=21/tcp permanent
- firewallcmd reload
四、SELinux 配置
1、临时关闭 SELinux:如果需要,可以临时关闭 SElinux。

- setenforce 0
2、永久关闭 SELinux:不建议长期关闭 SELinux,但可以根据需要进行调整。
- setsebool P ftpd_full_access on
五、常见问题及解答 (FAQs)
Q1:如何更改 vsftpd 的监听地址?
A1:编辑/etc/vsftpd/vsftpd.conf
文件,找到listen
指令并设置为所需的 IP 地址或接口,将listen=YES
改为listen=192.168.1.100
。
Q2:如何启用 SSL/TLS 加密传输?
A2:生成 SSL 证书并配置 vsftpd 使用该证书,可以使用openssl
生成自签名证书,并在/etc/vsftpd/vsftpd.conf
中添加以下内容:
- rsa_cert_file=/etc/vsftpd/vsftpd.pem
- rsa_private_key_file=/etc/vsftpd/vsftpd.pem
- ssl_enable=YES
然后重启 vsftpd 服务。