• vsftp建立虚拟用户不同目录分配不同权限操作步骤详解


    vsftpd服务器同时支持匿名用户、本地用户和虚拟用户三类用户账号,使用虚拟用户账号可以提供集中管理的FTP根目录,方便了管理员的管理,同时将用于FTP登录的用户名、密码与系统用户账号区别开,进一步增强了FTP服务器的安全性。

    1、在/etc/vsftpd/vsftpd.conf加入或者更改以下配置语句:

    *********************************************************************************************************************

    注意在vsftpd.conf中加分割文件 :user_config_dir=/etc/vsftpd

    在/etc/vsftpd建同名用户,,并在其中写以下内容(只能上传)

    write_enable=YES
    cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RNFR,RNTO,SIZE,STOR,TYPE,USER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT
    file_open_mode=0444

    **************************************************************************************************************************

    复制代码代码如下:

    anonymous_enable=NO (当然你也可以设成YES,同时允许匿名用户登陆)
    local_enable=YES (必须置YES,因为虚拟用户是映射到virtual这个本地用户来访问的)
    guest_enable=YES(启用虚拟用户)
    guest_username=virtual(第5步中创建,将虚拟用户映射为本地virtual用户)
    pam_service_name=vsftpd.vu(第2步中创建,指定PAM配置文件,文件已经在/etc/pam.d/存在)
    user_config_dir=/etc/vsftpd/user_conf(第7,8步中创建,指定不同虚拟用户配置文件的存放路径)

    2、在/etc/pam.d/中修改文件vsftpd.vu, 对比修改内容:

    复制代码代码如下:

    auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login     
    account required pam_userdb.so db=/etc/vsftpd/vsftpd_login


    (/etc/vsftpd/vsftpd_login 在第3,4步中创建,用户账号密码数据库文件)

    3、建立用户列表/tmp/logins.txt 内容如下

    复制代码代码如下:

    web (帐号)
    ****** (用户密码)
    download (帐号)
    ******* (用户密码)
    admin (帐号)
    ******* (用户密码)


    注意:不要有空行,一行账号 一行密码;奇数行为帐号,偶数行为密码

    4、建立访问者数据文件(如果没有可以安装:yum install db4-utils)
    #db_load -T -t hash -f /tmp/logins.txt /etc/vsftpd/vsftpd_login.db

    5、建立本地虚拟用户:

    复制代码代码如下:

    #useradd -d /home/ftp -s /sbin/nologin virtual

    6、在/home/ftp/创建目录并改变其属性和它的宿主

    复制代码代码如下:

    #chown virtual /home/ftp
    #chmod 700 /home/ftp

    7、创建ftp用户配制文件目录:/etc/vsftpd/user_conf

    复制代码代码如下:

    #mkdir /etc/vsftpd/user_conf

    8、在/etc/vsftpd/user_conf目录中创建以用户名命名的配置文件web、download、admin

    “download”文件内容如下:

    复制代码代码如下:

    local_root=/home/ftp (当然,你高兴也可以设置成其它,但要注意virtual用户对此目录的权限)
    anon_world_readable_only=NO (使download用户的能下载,也只能下载;写成YES,将不能列出文件和目录)

    “admin”文件内容如下:

    复制代码代码如下:

    local_root=/home/ftp
    anon_world_readable_only=NO
    write_enable=YES (写权限)
    anon_mkdir_write_enable=YES (新建目录权限)
    anon_upload_enable=YES(上传权限)
    anon_other_write_enable=YES(删除/重命名的权限)

    “web”文件内容如下:

    复制代码代码如下:

    local_root=/var/www
    anon_world_readable_only=NO
    anon_umask=022 (由于web页面的特殊性,故单独设置上传文件权限为755,此掩码值可根据具体情况更改)
    write_enable=YES (写权限)
    anon_mkdir_write_enable=YES (新建目录权限)
    anon_upload_enable=YES(上传权限)
    anon_other_write_enable=YES(删除/重命名的权限)

    9、最后,重新启动VSFTPD

    复制代码代码如下:

    #/etc/init.d/vsftpd restart
  • 相关阅读:
    数据库连接
    《程序员修炼之道--从小工到专家》读后感(二)
    《程序员修炼之道--从小工到专家》读后感(一)
    《继承与多态》动手动脑
    MyFirstJavaWeb
    静态初始化块的执行顺序
    使用类的静态字段和构造函数,可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”。
    FJUT 毒瘤3(二分 + 最大匹配)题解
    HDU 4638 Group(莫队)题解
    HDU 4391 Paint The Wall(分块的区间维护)
  • 原文地址:https://www.cnblogs.com/han1094/p/6287369.html
Copyright © 2020-2023  润新知