2024年5月31日发(作者:)
vsftpd下设置多个虚拟用户使用同一个目录
企业环境
公司为了能够方便和合作伙伴沟通最新的产品信息,计划搭建FTP服务
器,给合作伙伴提供相关文档的下载。内部管理员对FTP服务器共享目录有
上传、下载、删除和修改产品信息的权限。公司的合作伙伴能够使用FTP
服务器进行上传和下载,但不可以删除数据。并且保证服务器的稳定性,进
行适当优化设置~
需求分析
根据企业的需求,对于不同用户进行不同的权限限制,FTP服务器需要
实现用户的审核。考虑到服务器的安全性,关闭实体用户登录,使用虚拟帐
号验证机制,并对不同虚拟帐号设置不同的权限。同时为了保证服务器的性
能,还需要根据用户的等级,限制客户端的连接数及下载速度。
解决方案
首先用vi打开/etc/vsftpd/ 这个配置文件,进入编辑模式,将
anonymous_enable=YES 的YES改为NO(不让匿名用户访问ftp服务器)
1、建立虚拟用户文件
vi /etc/vsftpd/vsftpd_
admin #内部管理员账号
desheng_ #内部管理员账号密码
vip #合作伙伴账号
desheng@ #合作伙伴账号密码
建立完成之后保存退出。
2、生成虚拟用户数据库
要生成用户数据库,需要用到db_load命令,可以用rpm -qa | grep db4命
令来查看是否有安装。
作者:江西新华电脑学院 2013-4-6
db_load -T -t hash -f /etc/vsftpd/vsftpd_ /etc/vsftpd/vsftpd_
3、配置PAM文件
若要服务器能够使用数据库文件,对客户端进行身份验证,就必须要修
改vsftpd对应的PAM配置文件/etc/pam.d/vsftpd。用vi打开这个文件有如下
内容:
%PAM-1.0
session optional pam_ force revoke
auth required pam_ item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_
auth include system-auth
account include system-auth
session include system-auth
session required pam_
把这些默认配置全部用“#”号注释掉,然后加上我们需要用到的配置。
#%PAM-1.0
#session optional pam_ force revoke
#auth required pam_ item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_
#auth include system-auth
#account include system-auth
#session include system-auth
#session required pam_
auth required /lib/security/pam_ db=/etc/vsftpd/vsftpd_virtualuser
account required /lib/security/pam_ db=/etc/vsftpd/vsftpd_virtualuser
4、创建虚拟帐号对应的系统用户
useradd -d /data/share -s /sbin/nologin ftpadmin
useradd -d /data/share -s /sbin/nologin ftpvip
创建download用户的时候会提示一些警告信息,我们先不管。
为2个虚拟账号创建密码,必须要和vsftpd_virtualuser文件里面的密码
相同。
passwd ftpadmin #密码 desheng_
passwd ftpvip #密码 desheng@
作者:江西新华电脑学院 2013-4-6


发布评论