zoukankan      html  css  js  c++  java
  • vsftpd文件虚拟用户搭建

    关于vsftpd的原理这里就不多说了,下面红色部分有单独标出,突出显示,意思是这里的东西有额外的配置,全文的配置一定要跟着第二步的配置来,不要过程中随便改变参数,除非你看得懂,好了直接上配置过程

    1、安装vsftpd:yum -y install vsftpd db4

    2、删掉/etd/vsftpd/vsftpd.conf,然后创建并编辑这个vsftpd.conf,内容如下

    #global configuration
    local_enable=YES
    chroot_local_user=NO
    ftpd_banner=MyFTP
    guest_enable=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    guest_username=ftp
    listen_port=21
    use_localtime=YES
    listen=YES
    pam_service_name=vsftpd.pam
    user_config_dir=/etc/vsftpd/vconf
    virtual_use_local_privs=YES
    pasv_min_port=10060
    pasv_max_port=10090

    #anonymous configuration
    anonymous_enable=YES
    anon_root=/ftproot/anon
    anon_world_readable_only=YES

    #log configuration
    xferlog_enable=YES
    xferlog_std_format=YES
    xferlog_file=/var/log/xferlog
    dual_log_enable=YES
    vsftpd_log_file=/var/log/vsftpd.log

    3、配置vsftpd的登陆帐号

    编辑这个文件,并加上vsftpd的帐号和密码。格式是第一行帐号,第二行密码,第三行帐号,第四行密码,依次类推

    vim /etc/vsftpd/vusers

    admin

    123456

    test

    123456

    然后把这个文件变成db文件,让vsftpd读取的时候更快:db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/vuser.db

    4、配置vsftpd的pam认证,加两行内容,注意,我们上面生成的是vuser.db,下面的内容中省略.db共计3个字符,不是我写漏了,而且上面的db_load的是vusers,生成的是vuser.db,我故意的,注意不要看错

    vim /etc/pam.d/vsftpd.pam

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

    5、配置虚拟用户独立权限

    以vsftpd登陆的用户名在/etc/vsftpd/vconf下创建文件,并编辑其中的内容,注意了,文件名不是随便取的,刚刚我创建的虚拟用户有admin和test两个帐号,现在以admin帐号为例

    vim /etc/vsftpd/vconf/admin

    local_root=/ftproot
    write_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES

    这个admin登陆的个人权限就在这个文件里面单独定义,因此不同的虚拟用户有不同的ftp权限

    6、操作系统的配置

    6.1、创建/ftproot目录并将ftp帐号的家目录改到/ftproot下,将/ftproot权限全部给ftp帐号:

    mkdir -pv /ftproot/anon
    usermod -d /ftproot ftp
    chown -R ftp.ftp /ftproot

    6.2、配置selinux允许ftp

    setsebool -P ftp_home_dir on
    setsebool -P allow_ftpd_full_access on

    6.3、配置防火墙允许ftp

    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT

    如果你是centos7以上的版本,那么执行firewall-cmd --add-service=ftp --permanent

    7、附录:有关于vsftpd中的anonymous相关参数配置

    anonymous_enable=YES 是否开启匿名用户
    allow_anon_ssl=NO 是否强制匿名用户用ssl安全连接,默认NO
    anon_mkdir_write_enable=NO 是否允许匿名用户创建文件/文件夹,这个选项受制于write_enble
    anon_other_write_enable=NO 是否允许匿名用户能够删除和重命名文件的权限
    anon_upload_enable=NO 是否允许匿名用户上传文件,这个选项受制于write_enble
    anon_world_readable_only=YES 匿名用户只能下载自己可读的文件
    no_anon_password=NO 如果为YES,匿名用户登陆就不必输入密码了
    anon_max_rate=0 匿名用户下载速率,默认不限速
    anon_root=目录名 匿名用户登陆后的目录

    大家自行去发挥不,配置操作完成。

    技术交流群:70539804

  • 相关阅读:
    sinaapp+wordpress
    用JavaScript实现本地缓存
    Javascript的IE和Firefox(火狐)兼容性
    150个javascript特效
    学习Javascript闭包(Closure)
    JS bingo卡片
    Response.Write详细介绍[转]
    JS实现鼠标经过时背景色缓慢改变
    为什么引用不了App_Code里的类
    SQL SERVER 2008 R2配置管理器出现“远程过程调用失败”【0x800706be】的解决办法
  • 原文地址:https://www.cnblogs.com/boltkiller/p/10664201.html
Copyright © 2011-2022 走看看