在CentOS 7系统中启动和配置vsftpd(Very Secure FTP Daemon)是搭建FTP服务器的常见需求,vsftpd是一款轻量级、安全且高效的FTP服务器软件,适用于各种Linux发行版,以下是详细的操作步骤和注意事项,帮助您顺利完成vsftpd的启动与配置。

安装vsftpd服务
确保系统已连接到Yum仓库,然后使用以下命令安装vsftpd:
sudo yum install vsftpd -y
安装完成后,系统会自动创建vsftpd配置文件和相关目录,默认配置文件位于/etc/vsftpd/vsftpd.conf,建议在修改配置前备份原始文件:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
启动并设置开机自启
安装完成后,启动vsftpd服务并设置为开机自启:
sudo systemctl start vsftpd sudo systemctl enable vsftpd
使用以下命令检查服务状态:
sudo systemctl status vsftpd
如果显示“active (running)”,则表示服务已成功启动。

配置防火墙与SELinux
CentOS 7默认使用firewalld防火墙和SELinux,需开放FTP相关端口,允许FTP服务通过防火墙:
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload
若SELinux处于 enforcing 模式,需安装并启用SELinux FTP支持:
sudo yum install selinux-policy-targeted -y sudo setsebool -P ftpd_full_access on
修改vsftpd配置文件
编辑/etc/vsftpd/vsftpd.conf文件,调整以下关键参数:
anonymous_enable=NO:禁止匿名登录。local_enable=YES:允许本地用户登录。write_enable=YES:允许用户上传文件。chroot_local_user=YES:限制用户仅能访问自家目录。allow_writeable_chroot=YES:允许chroot目录写入(需配合其他安全设置)。
修改后保存文件,并重启vsftpd服务:sudo systemctl restart vsftpd
创建FTP用户并设置权限
为FTP服务创建专用用户,例如ftpuser:
sudo useradd -m -d /home/ftpuser -s /sbin/nologin ftpuser sudo passwd ftpuser
确保用户家目录权限正确:

sudo chmod 755 /home/ftpuser sudo chown ftpuser:ftpuser /home/ftpuser
常见问题排查
- 无法连接FTP服务器:检查防火墙和SELinux设置,确认端口21是否开放。
- 用户无法上传文件:验证
write_enable=YES和目录权限是否正确。
相关问答FAQs
Q1: 如何限制FTP用户仅能访问特定目录?
A1: 在vsftpd.conf中设置local_root=/path/to/directory,或为用户创建符号链接:sudo ln -s /target/directory /home/username/ftp。
Q2: 如何启用FTP被动模式(Passive Mode)?
A2: 在vsftpd.conf中添加以下参数并重启服务:pasv_min_port=10000pasv_max_port=10100
同时在防火墙中开放端口范围:sudo firewall-cmd --permanent --add-port=10000-10100/tcpsudo firewall-cmd --reload
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复