在Linux环境下,vsftpd几乎是搭建FTP服务器的首选方案,其稳定、安全且配置简单的特性备受青睐。本文直接为大家带来详细的vsftpd部署实操教程,从安装到配置一气呵成。
1. 安装vsftpd服务
开始安装之前,建议先检查系统更新,以确保无依赖冲突。
# yum check-update # yum -y install vsftpd
2. 配置vsftpd核心参数
安装完成后,最重要的环节是修改配置文件。编辑 /etc/vsftpd/vsftpd.conf,并添加以下经过实践验证的关键参数,它们是安全且稳定的配置组合。
# vi /etc/vsftpd/vsftpd.conf
以下是修改后的关键参数配置:
anonymous_enable=NO chroot_local_user=YES allow_writeable_chroot=YES pasv_enable=YES pasv_min_port=40000 pasv_max_port=40100
特别注意:参数 allow_writeable_chroot=YES 用于解决新版vsftpd中用户被锁定在家目录后无法写入文件的问题。如果不添加该参数,用户即使登录也无法上传文件。
3. 重启vsftpd服务并设置开机自启
修改配置后,需重启vsftpd服务使配置生效,并设置开机自启动,避免系统重启后服务未运行。
# systemctl restart vsftpd.service # systemctl enable vsftpd.service
4. 配置防火墙与SELinux策略
虽然服务已启动,但还需放行防火墙和SELinux规则,否则外部客户端无法连接。以下操作必不可少。
# firewall-cmd --permanent --add-service=ftp # firewall-cmd --reload # setsebool -P ftp_home_dir on
被动模式所需的端口范围(40000-40100)也需在防火墙中开放。上述命令通过 --add-service=ftp 已自动处理了FTP常用端口,若需更精细的控制,可手动添加端口规则。
5. 创建专用FTP用户账号
接下来,创建FTP专用用户,设置其家目录为 /home/www,并禁止该用户通过SSH登录。FTP用户仅用于文件传输,无需shell访问权限。
# useradd -d /home/www -m test1 -s /sbin/nologin
6. 为FTP用户设置密码
最后,为用户设置密码,客户端即可使用该账号密码登录FTP服务器。
# passwd test1
至此,一个基础且安全的vsftpd服务已成功部署。整个流程涵盖了安装、配置、防火墙、SELinux以及用户管理,步骤清晰。后续如需调整权限或添加新用户,可按照相同思路继续操作。
