• Debian 9 vsftpd: version 3.0.3 配置


    现在网上关于vsftpd的资料不少,但是版本已经比较老,配置起来各种错误,耽误不少时间,现将配置步骤更新如下,配置环境版本:Debian 9 + vsftpd: version 3.0.3

    1.apt install vsftpd

    2.安装完成后,vsftpd自动添加了ftp用户和ftp用户组

    3.mkdir /ftp,添加ftp根目录

    4.vi /etc/passwd || usermod -d /ftp ftp

    修改ftp主目录 原:/srv/ftp 新 /ftp

    5.修改/ftp目录所属组为ftp

    chgrp ftp /ftp

    6.创建vsftp用户目录

    mkdir /ftp/vsftp

    7.添加vsftp用户

    useradd -g ftp -d /ftp/vsftp -s /sbin/nologin vsftp
    passwd vsftp
    ******

    8.添加FTP配置文件目录

    mkdir /etc/vsftpd/
    mkdir /etc/vsftpd/vconf

    9.创建用户和密码文件

    创建用户和密码文件,然后用db4工具把用户名和密码转换成系统识别的格式。
    vi vftpuser.txt //新建文件写入用户名和密码
    注:第一行写用户名,第二行写密码,以此类推,要创建多少虚拟用户,依次写下去。
    例如:

    abcd
    *****
    dcba
    *****

    创建了两个用户abc和cba密码分别为****和*****

    接着使用工具将其转换,并且存放在适当的位置,如:、
    db5.3_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db
    命名为vsftpd_login.db。
    注意:此时如果没有安装db4工具会出现错误。
    解决方法:
    apt install db5.3-util
    db5.3_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db

    10.设置PAM验证文件,并制定虚拟用户数据库文件进行读取

    使用find / -name 'pam_userdb.so'查找
    结果:/lib/x86_64-linux-gnu/security/pam_userdb.so
    修改/etc/pam.d/vsftpd

    添加:

    auth    sufficient    /lib/x86_64-linux-gnu/security/pam_userdb.so    db=/opt/vsftp/vsftpd_login
    account    sufficient    /lib/x86_64-linux-gnu/security/pam_userdb.so    db=/opt/vsftp/vsftpd_login
    
    auth    include    system-auth
    account    include    system-auth
    session    include    system-auth
    session    required    pam_loginuid.so

    11.创建虚拟用户配置文件:

    12.配置vsftpd参数 ,vi /etc/vsftpd.conf

    vconf/default文件内容:

    local_root=/home/ftp/ftpdir
    #指定虚拟用户仓库的具路径
    anonymous_enable=NO
    #设定不允许匿名访问
    write_enable=YES
    #允许写的操作
    local_umask=022
    #上传文件的权限掩码
    anon_upload_enable=YES
    #不允许匿名上传
    anon_mkdir_write_enable=YES
    #不允许匿名用户建立目录
    idle_session_timeout=300
    #设定空闲链接超时时间
    data_connection_timeout=1000
    #设定单次传输最大时间
    max_clients=0
    #设定并发客户端的访问数量
    max_per_ip=0
    #设定客户端的最大线程数
    local_max_rate=0
    #设定用户的最大传输速率,单位b/s
    cmds_allowed=ABOR,CWD,LIST,MDTM,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,REST,SIZE,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST
    #这里是你给他设的权限,我这里给的权限符合上头所说的要求,可以上传下载,但不能删除文件,也不能创建文件夹
    #完整权限:cmds_allowed=ABOR,CWD,LIST,DELE,RMD,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,REST,RNFR,RNTO,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

    新用户配置文件通过默认直接复制(注意复制完修改local_root参数):

    cp default abc
    cp default cba

    mkdir /ftp/abc
    mkdir /ftp/cba
    修改属主/组信息
    chown abc:ftp /ftp/abc

    13.配置vsftpd参数:

    vi /etc/vsftpd

    write_enable=YES
    local_umask=022
    
    # 手动添加以下项目
    
    #启用虚拟用户功能
    guest_enable=YES
    
    #指定虚拟的宿主用户
    guest_username=vsftp
    
    #设定虚拟用户的权限符合他们的宿主用户
    virtual_use_local_privs=YES
    
    #设定虚拟用户个人vsftp的配置文件存放路劲。这个被指定的目录里,将被存放每个虚拟用户个性的配置文件,注意的地方是:配置文件名必须和虚拟用户名相同。
    user_config_dir=/etc/vsftpd/vconf
    
    listen_port=21
    pasv_enable=YES
    pasv_min_port=13031
    pasv_max_port=13051
    pasv_promiscuous=YES
    ftpd_banner=FTP service

     vsftpd配置附件:vsftpd.rar

    vsftpd参数参考:http://www.cnblogs.com/9426yu/p/4835443.html

  • 相关阅读:
    自定义异常
    异常的处理方式之二:声明异常(throws子句)
    异常的处理方式之一:捕获异常
    CheckedException已检查异常
    Range Sum Query
    cmd命令结束占用tomcat的进程
    原生js实现瀑布流
    js实现选项卡切换
    (转载)用ul做横向导航
    帝国CMS视频
  • 原文地址:https://www.cnblogs.com/sunky/p/9418730.html
Copyright © 2020-2023  润新知