vsftpd 应用案例----虚拟账户FTP , 满足大量账户的访问需求

一、创建虚拟用户数据库

db_load 工具: 将明文密码文件 ( 奇数行是用户名,偶数行是密码 ) 转换 为数据库文件

db_load工具:通过安装 db4-utils 软件包获得

[root@localhost vsftpd]# yum -y install db4-utils

创建数据库文件

[root@localhost vsftpd]# vim /etc/vsftpd/vlogin           # 创建 明文密码文件
[root@localhost vsftpd]# cat /etc/vsftpd/vlogin           # 明文密码文件 内容如下
tomcat                                                    # 奇数行是用户名
123456                                                    # 偶数行是密码
jerry
654321
[root@localhost vsftpd]# db_load -T -t hash -f /etc/vsftpd/vlogin /etc/vsftpd/vlogin.db   # 转换
[root@localhost vsftpd]# chmod 600 /etc/vsftpd/{vlogin,vlogin.db}  # 处于安全考虑设置一下权限
[root@localhost vsftpd]# 

二、创建 PAM 文件,设置基于虚拟账户验证

[root@localhost vsftpd]# vim /etc/pam.d/vsftpd.pam           # 虚拟账户验证文件
[root@localhost vsftpd]# cat /etc/pam.d/vsftpd.pam            
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin        # db 指定数据库文件, 无须 .db的名称后缀
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
[root@localhost vsftpd]# 

三、设置虚拟账户共享目录

[root@localhost vsftpd]# useradd -s /sbin/nologin -d /home/ftp/ virtual

四、修改主配置文件

[root@localhost vsftpd]# vim  vsftpd.conf

chroot_local_user=YES                        # 禁锢用户主目录
guest_enable=YES                             # 开启虚拟账户功能
guest_username=virtual                       # 所有虚拟账户都映射到 guest_username 指定的系统账户上
pam_service_name=vsftpd.pam                  
user_config_dir=/etc/vsftpd_user_conf        # 配置一个基于账户的配置目录,里面是若干个账户
user_sub_token=$USER

五、为每一个用户设置独立的共享路径

[root@localhost vsftpd]# mkdir /etc/vsftpd_user_conf/       # 创建基于账号配置目录
[root@localhost vsftpd]# mkdir -p /home/ftp/tomcat          # tomcat 用户共享主目录
[root@localhost vsftpd]# vim /etc/vsftpd_user_conf/tomcat   # tomcat 用户 配置信息
local_root=/home/ftp/$USER                                  # 设置tomcat ftp的家目录, 此外还可以设置 权限, 限速,并发量等

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值