在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 服务。