zoukankan      html  css  js  c++  java
  • vsftpd简介和配置说明

    1 简介

    1.1工作模式

    主动模式

    被动模式(默认)

    1.2登录用户类型

    匿名用户

    本地用户

    虚拟用户

    2 配置

    2.1 配置说明

    2.1.1匿名用户配置 

    anonymous_enable=YES    #是否允许匿名登录 yes=允许 no= 不允许
    ftp_username=ftp    #设置ftp匿名登录时的用户名,默认 ftp
    no_anon_password=YES    #匿名用户登录不需要输入密码 默认 YES
    deny_email_enable=YES    #以banned_email_file里面的电子邮件为密码的匿名用户不能登录
    anon_root    #匿名用户登录后的默认目录,不设置,默认为/var/ftp
    anon_upload_enable=YES    #允许匿名登录用户上传文件 默认NO
    anon_mkdir_write_enable=YES    #允许匿名登录用户创建目录 默认NO
    anon_other_write_enable=NO    #允许匿名用户有较高的写权限包括 删除目录和重命名等 默认NO
    anon_world_readable_only=YES    #允许匿名用户下载可读文件 默认YES , 设置为yes时只能下载不能直接在Ftp中阅读。
    chown_uploads=YES    #设置是否改变匿名用户上传文件(非目录)的属主。默认值为NO。

    2.1.2 ssl加密协议配置

    allow_anon_ssl=NO    #是否允许SSL连接,启用SSL后才可以使用此参数,默认NO
    ssl_enable=NO    #是否启用ssl 安全连接 默认NO 如果设置为yes,vsftpd,将启用openSSL,通过SSL支持安全连接和数据传输
    force_local_logins_ssl=YES    #是否对非匿名用户登录加密 默认yes
    force_local_data_ssl=YES    #是否对非匿名用户传输加密 默认yes
    force_anon_logins_ssl=NO    #匿名用户登录时是否加密 默认为no
    force_anon_data_ssl=NO    #匿名用户数据传输时是否加密 默认为no
    ssl_sslv2=NO    #是否开户sslv2协议。 默认NO ,如果设置为yes,前提为ssl_enable=YES
    ssl_sslv3=NO    #是否开户sslv3协议。 默认NO ,如果设置为yes,前提为ssl_enable=YES
    dsa_cert_file    #为ssl加密连接指定dsa证书位置 默认 无
    ssl_ciphers    #是否指定加密方式 默认 DES-CBC3-SHA

    2.1.3 日志文件配置

    dual_log_enable=NO    # 是否启用双日志,默认NO 如果设置为yes,则分别在/var/log/xferlog、var/log/vsftpd.log里记录日志。前一个为wu-ftpd格式,可被通用工具分析,后一个为vsftpd的专用格式
    xferlog_enable=YES    # 激活上传和下传的日志 依赖 参数xferlog_std_format的设置
    xferlog_std_format=YES    # 使用标准格式记录上传、下传日志
    syslog_enable=NO    # 是否关闭vsftpd的日志并记录系统日志 默认NO ,如果设置为YES,系统日志会记录到/var/log/vsftpd.log,而VSFTPD的日志进程将停止。

    2.1.4 传输模式配置

    ascii_download_enable=YES    #是否启用ascii模式下载文件 默认 NO
    ascii_upload_enable=YES    #是否启用ascii模式上传文件 默认 NO
    async_abor_enable=NO    #是否启用强制中止传输文件 默认 NO 启用此参数是为了免中止传输时的客户端挂死。只有特殊情况下才使用。
    background=NO    #是否后台启动vsftpd监听 默认 NO 启用后,VSFTPD将监听进程置于后台,当访问vsftpd服务时,console 会返回到shell模式
    check_shell=YES    #检测是否有可用的shell环境 默认 YES
    userlist_enable=YES    #启用user_list文件的检查 默认NO:为YES时检查user_list文件中的用户列表,为NO时不检测该文件
    userlist_deny=NO    #只有在userlist_enable启用时有效,默认YES:表示user_list文件中的用户不允许登录ftp  NO:表示只允许user_list文件中的用户登录FTP

    2.1.5 传输速率配置

    anon_max_rate    #匿名用户允许的最大传输速率    0秒
    local_max_rate    #本地认证用户的最大传输速率    0秒

    2.1.6超时设置

    accept_timeout    #尝试连接时间    60s
    data_connection_timeout    #数据传输延迟的最大时间,超过限制,会话将被终止    300s
    idle_session_timeout   #连接建立后,两次ftp命令之间的时间间隔,超时会话将被终止    300s

    2.1.7用户创建文件权限设置

    anon_umask    匿名用户创建的文件的默认权限    022
    local_umas    本地用户创建的文件的默认权限    022

    2.1.8端口设置

    listen_port=21    #FTP服务器建立连接所侦听的端口    21
    ftp_data_port    #数据传输所使用的默认端口    20
    connect_from_port_20=YES  #指定FTP数据传输连接使用20端口,设置为NO时,则进行数据连接时,所使用的端口由ftp_data_port指定     
    pasv_max_port=0    #passive模式下数据传输使用的端口上限    0
    pasv_mim_port=0    #passive模式下数据传输使用的端口下限    0

    2.1.9用户访问权限设置

    chroot_list_enable=YES    #是否改变用户的根目录, 默认 NO。 当设置为YES时,需要以root
         用户做如下操作:
         mkdir /etc/vsftpd/userconf;
         cat >>$username<<eof
         local_root=$path
         EOF
         说明 "$username" 是需要改变默认根目录的用户比如用户aaa
         ,$path 为你想要用户aaa默认访问的路径 ,比如/data/aaa
    chroot_list_enable=YES    #设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO
    chroot_list_file=/etc/vsftpd/chroot_list    #用于指定存储用户列表文件,该文件用于控制哪些用户只可以访问自己的根目录,不可以访问根路径的上级路径目录
    chroot_local_user=YES    #用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。通过搭配能实现以下多种效果。见表格下方。

    2.2 匿名用户配置文件

    
    

    cat > /etc/vsftpd/vsftpd.conf << EOF
    #全局配置
    write_enable=YES
    dirmessage_enable=YES
    listen=NO
    listen_ipv6=YES

    
    

    #是否允许匿名登录yes=允许 no=不允许
    anonymous_enable=YES
    #匿名用户创建文件的默认权限
    anon_umask=022
    #设置ftp匿名登录时的用户名 默认ftp
    ftp_username=ftp
    #匿名用户登录不需要输入密码 默认YES
    no_anon_password=YES
    #匿名用户登录后的默认目录,不设置,默认为/var/ftp
    anon_root=/var/ftp
    #允许匿名登录用户上传文件 默认NO
    anon_upload_enable=YES
    #允许匿名登录用户创建目录 默认NO
    anon_mkdir_write_enable=YES
    #允许匿名用户有较高的写权限包括删除目录和重命名等 默认NO
    anon_other_write_enable=YES
    #允许匿名用户下载可读文件 默认YES,设置为yes时只能下载不能直接在Ftp中阅读
    anon_world_readable_only=NO
    #设置是否改变匿名用户上传文件(非目录)的属主 默认NO
    chown_uploads=NO

    
    

    #被动模式配置
    pasv_min_port=30000
    pasv_max_port=31000

    
    


    ##日志配置
    xferlog_enable=YES
    xferlog_std_format=YES
    EOF

     

    2.3本地用户配置文件

    
    

    cat > /etc/vsftpd/vsftpd.conf << EOF
    #全局配置
    write_enable=YES
    dirmessage_enable=YES
    listen=NO
    listen_ipv6=YES
    pam_service_name=vsftpd

    
    

    #允许本地用户登录禁止匿名用户登录
    local_enable=YES
    anonymous_enable=NO

    
    

    #当且仅当userlist_enable=YES时,userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
    #当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入.
    #当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入).
    #另外需要特别提醒的是:使用白名单后,匿名用户将无法登入,除非显式在user_list中加入一行:anonymous
    userlist_enable=YES
    userlist_deny=NO
    userlist_file=/etc/vsftpd/user_list

    
    

    #下面是限制用户只能访问自己的主目录 存在chroot_list文件中的用户只能访问自己的主目录
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list

    
    

    #被动模式配置
    pasv_min_port=30000
    pasv_max_port=31000

    
    


    ##日志配置
    xferlog_enable=YES
    xferlog_std_format=YES
    EOF

     

    2.4匿名和本地用户配置文件

    
    

    cat > /etc/vsftpd/vsftpd.conf << EOF
    #全局配置
    write_enable=YES
    dirmessage_enable=YES
    listen=NO
    listen_ipv6=YES
    pam_service_name=vsftpd

    
    

    #允许本地用户登录禁止匿名用户登录
    local_enable=YES

    
    

    #是否允许匿名登录yes=允许 no=不允许
    anonymous_enable=YES
    #匿名用户创建文件的默认权限
    anon_umask=022
    #设置ftp匿名登录时的用户名 默认ftp
    ftp_username=ftp
    #匿名用户登录不需要输入密码 默认YES
    no_anon_password=YES
    #匿名用户登录后的默认目录,不设置,默认为/var/ftp
    anon_root=/var/ftp
    #允许匿名登录用户上传文件 默认NO
    anon_upload_enable=YES
    #允许匿名登录用户创建目录 默认NO
    anon_mkdir_write_enable=YES
    #允许匿名用户有较高的写权限包括删除目录和重命名等 默认NO
    anon_other_write_enable=YES
    #允许匿名用户下载可读文件 默认YES,设置为yes时只能下载不能直接在Ftp中阅读
    anon_world_readable_only=NO
    #设置是否改变匿名用户上传文件(非目录)的属主 默认NO
    chown_uploads=NO

    
    

    #当且仅当userlist_enable=YES时,userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
    #当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入.
    #当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入).
    #另外需要特别提醒的是:使用白名单后,匿名用户将无法登入,除非显式在user_list中加入一行:anonymous
    userlist_enable=YES
    userlist_deny=NO
    userlist_file=/etc/vsftpd/user_list

    
    

    #下面是限制用户只能访问自己的主目录 存在chroot_list文件中的用户只能访问自己的主目录
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list

    
    

    #被动模式配置
    pasv_min_port=30000
    pasv_max_port=31000

    
    


    ##日志配置
    xferlog_enable=YES
    xferlog_std_format=YES
    EOF

     

    2.5 虚拟用户配置文件

    未完待续

     参考网址:https://www.cnblogs.com/halberd-lee/p/11734363.html

  • 相关阅读:
    linux 短信收发
    sama5d3 环境检测 adc测试
    【Codeforces 723C】Polycarp at the Radio 贪心
    【Codeforces 723B】Text Document Analysis 模拟
    【USACO 2.2】Preface Numbering (找规律)
    【Codeforces 722C】Destroying Array (数据结构、set)
    【USACO 2.1】Hamming Codes
    【USACO 2.1】Healthy Holsteins
    【USACO 2.1】Sorting A Three-Valued Sequence
    【USACO 2.1】Ordered Fractions
  • 原文地址:https://www.cnblogs.com/crelle/p/15042279.html
Copyright © 2011-2022 走看看