zoukankan      html  css  js  c++  java
  • ahjesus配置vsftpd虚拟用户在Ubuntu

    网上搜索了很多资料,过时,不全,货不对版

    已下步骤亲测有效,不包含匿名用户登录

    1、新建/home/loguser.txt

    并填充内容,格式如下

    用户名
    密码
    用户名
    密码
    用户名
    密码

    2、生成db文件用于用户验证

    执行db_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db

    如果没有装db会提示你apt-get install,根据提示的内容输入命令安装后再次执行生成db

    3、设置数据库文件的访问权限

    chmod 600 /etc/vsftpd_login.db

    4、编辑文件/etc/pam.d/vsftpd.vu 将以下内容增加到原文件前面两行:

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

    如果没有vsftpd.vu就新建一个

    5、新建一个系统用户vsftpd,用户家目录为/home/vsftpd, 用户登录终端设为/bin/false(即使之不能登录系统)

    sudo useradd vsftpd -d /home/vsftpd -s /bin/false
    sudo chown vsftpd:vsftpd /home/vsftpd

    6、根据需要创建/etc/vsftpd.conf,一般要确保含有以下设置:

    listen=NO
    anonymous_enable=NO 
    dirmessage_enable=YES 
    xferlog_enable=YES 
    xferlog_file=/var/log/vsftpd.log 
    xferlog_std_format=YES 
    chroot_local_user=YES 
    guest_enable=YES 
    guest_username=vsftpd
    user_config_dir=/etc/vsftpd_user_conf 
    pam_service_name=vsftpd.vu 
    local_enable=YES 
    secure_chroot_dir=/var/run/vsftpd

    7、新建目录/etc/vsftpd_user_conf

    在目录内新建对应你第一步的用户名的文件 比如你有用户dbtest 那你在这个目录内也要建立一个dbtest的文件

    8、配置单个用户的权限,确保你的dbtest内是这些内容

    write_enable=YES
    anon_world_readable_only=NO 
    anon_upload_enable=YES 
    anon_mkdir_write_enable=YES 
    anon_other_write_enable=YES 
    local_root=/home/vsftpd/dbtest

    注意所有的配置文件内容前后都不能有空格,不然登录的时候会提示出错ahjesus.com

    9、新建对应local_root的目录,并赋予777权限

    测试上传下载编辑删除

    10、挂载虚拟目录

    比如我的ftp的默认目录是/srv/ftp,我想把/mnt/LinG/WinSoft文件夹,映射到/srv/ftp目录中,我就如下操作 命令:

    #mount --bind [原有的目录] [新目录]

    先创建文件夹

    sudo mkdir /srv/ftp/WinSoft

    执行mount命令

    sudo mount --bind /mnt/LinG/WinSoft /srv/ftp/WinSoft

    最后注意,挂载的虚拟目录也需要777权限

    关于500 OOPS: vsftpd: refusing to run with writable root inside chroot()

    个人理解是不能在主目录有写入权限

    这里可以设置主目录的权限为775

    然后设置指定的用户的目录权限为777

    可以顺利登陆操作了

  • 相关阅读:
    组合
    面向对象初识, 类名,对象的的使用, 类名称空间和对象名称空间
    内置函数2 递归函数
    内置函数~~~
    生成器 列表推导式 列表表达式
    函数名应用 闭包 迭代器
    函数 动态参数, 名称空间 作用域 取值顺序,函数的嵌套
    函数初识~~
    文件操作要点
    Mysql索引原理
  • 原文地址:https://www.cnblogs.com/ahjesus/p/3742708.html
Copyright © 2011-2022 走看看