zoukankan      html  css  js  c++  java
  • 基于文件验证的vsftpd虚拟用户

    一、虚拟用户简介

    虚拟用户:

    • 所有虚拟用户会统一映射为一个指定的系统帐号:访问共享位置,即为此系统帐号的家目录
    • 各虚拟用户可被赋予不同的访问权限,通过匿名用户的权限控制参数进行指定

    虚拟用户帐号的存储方式:

    文件:编辑文本文件,此文件需要被编码为hash 格式Berkeley DB database,奇数行为用户名,偶数行为密码

    db_load -T -t hash -f vusers.txt vusers.db
    

    二、创建用户数据库文件

    $ rpm -qf `which db_load`
    libdb-utils-5.3.21-24.el7.x86_64
    $ vim /etc/vsftpd/vusers.txt   # 奇数行为用户名,偶数行为密码
    test01
    123456
    test02
    123456
    $ db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vusers.db    # 生成对应的二进制文件
    $ chmod 600 /etc/vsftpd/vusers.*            # 基于安全考虑
    

    三、创建用户和访问FTP目录

    $ useradd -d /data/ftproot -s /sbin/nologin -r vuser
    $ mkdir -pv /data/ftproot/upload
    $ setfacl -m u:vuser:rwx /data/ftproot/upload
    # chmod a=rx /data/ftproot/ 如果自动创建家目录,需修改权限
    

    四、创建pam配置文件

    $ vim /etc/pam.d/vsftpd.db
    auth required pam_userdb.so db=/etc/vsftpd/vusers
    account required pam_userdb.so db=/etc/vsftpd/vusers
    

    五、指定pam配置文件

    $ vim /etc/vsftpd/vsftpd.conf
    guest_enable=YES
    guest_username=vuser
    pam_service_name=vsftpd.db
    

    六、虚拟用户建立独立的配置文件

    $ vim /etc/vsftpd/vsftpd.conf        # 指定各个用户配置文件存放的路径
    user_config_dir=/etc/vsftpd/vusers.d/
    
    $ mkdir /etc/vsftpd/vusers.d/        # 创建各个用户配置文件存放的路径
    
    $ vim /etc/vsftpd/vusers.d/test01    # 创建各用户自已的配置文件,允许test01用户可读写,其它用户只读
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    
    $ vim /etc/vsftpd/vusers.d/test02     # 禁锢用户家目录
    local_root=/data/ftproot2 
    

    个人测试已经达到预期的效果,自行测试!

    *************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************
  • 相关阅读:
    类的继承
    面向对象的编程
    Python的模块
    ES6_12_Set和Map数据结构以及for of循环
    ES6_11_字符串、数值、数组、对象扩展
    ES6_09_Generator函数
    ES6_08_Iterator遍历器
    ES6_07_Symbol属性
    ES6_05_三点运算符和形参默认值
    Sqlstate解释
  • 原文地址:https://www.cnblogs.com/lvzhenjiang/p/14405918.html
Copyright © 2011-2022 走看看