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

  • 相关阅读:
    Compact Framework访问内嵌资源文件
    RBAC权限设计图 [转]
    c# 中判断用户是否按下CTRL键
    分享开发soket经验 我的基于socket的持久层 [转]
    没事教宝宝画画
    界面开发(一)[转]
    Winform中多国语言窗体的设计以及.NET中资源文件的使用[转]
    我眼中的理想系统
    C# WinForm开发系列 Socket/WCF/Rometing/Web Services[转]
    基于RBAC的权限设计模型[转]
  • 原文地址:https://www.cnblogs.com/crelle/p/15042279.html
Copyright © 2011-2022 走看看