一、环境准备
在Linux系统中安装vsftpd服务端软件,执行以下命令完成基础环境搭建:
- 安装vsftpd:
yum install vsftpd
(CentOS/RHEL)或apt install vsftpd
(Debian/Ubuntu) - 关闭防火墙与SELinux:临时关闭防火墙
systemctl stop firewalld
,设置SELinux为宽容模式setenforce 0
二、创建用户数据库
执行以下步骤生成虚拟用户认证文件:
- 创建文本文件
/etc/vsftpd/vusers.txt
,奇数行为用户名,偶数行为密码 - 使用
db_load
生成数据库文件:
db_load -T -t hash -f vusers.txt vusers.db
- 设置文件权限:
chmod 600 vusers.db
确保安全性
三、配置PAM认证
在/etc/pam.d/
目录下创建认证文件:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
需确保路径与数据库文件名匹配,且扩展名.db
无需显式声明
四、主配置文件设置
修改/etc/vsftpd.conf
核心参数:
- 启用虚拟用户:
guest_enable=YES
- 指定映射用户:
guest_username=vftpuser
(需提前创建系统用户useradd -s /sbin/nologin vftpuser
) - 设置独立配置文件目录:
user_config_dir=/etc/vsftpd/vusers_conf
五、测试与验证
完成配置后执行以下操作:
- 重启服务:
systemctl restart vsftpd
- 使用FTP客户端连接测试,验证虚拟用户的上传/下载权限
- 检查日志文件
/var/log/vsftpd.log
排查错误
通过虚拟用户机制可实现FTP服务的精细化权限控制,将系统账户与FTP访问权限分离。该方法通过数据库文件管理用户凭证,配合PAM认证模块与独立目录权限配置,显著提升服务安全性。实际部署时需注意数据库文件权限、防火墙规则及SELinux策略的协调配置。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/477041.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。