vsftpd配置详解

  • 匿名用户权限控制:
    • anonymous_enable=YES   #是否启用匿名用户
    • no_anon_password=YES   #匿名用户login时不询问口令
    • anon_upload_enable=(yes/no); #控制匿名用户对文件(非目录)上传权限
    • anon_world_readable_only=(yes/no); #控制匿名用户对文件的下载权限
    • anon_mkdir_write_enable=(yes/no); #控制匿名用户对文件夹的建立权限
    • anon_other_write_enable=(yes/no); #控制匿名用户对文件和文件夹的删除和重命名
    • write_enable=YES #全局设置,是否允许写入(不管是匿名用户仍是本地用户,若要启用上传权限的话,就要开启它)
    • anon_root=(none) #匿名用户主目录
    • anon_max_rate=(0) #匿名用户速度限制
    • anon_umask=(077) #匿名用户上传文件时有掩码(若想让匿名用户上传的文件能直接被匿名下载,就这设置这里为073)
    • chown_uploads=YES #全部匿名上传的文件的所属用户将会被更改为chown_username
    • chown_username=whoever #匿名上传文件所属用户名
  • 本地用户权限控制:web

    • write_enable=YES #能够上传(全局控制) 删除,重命名
    • local_umask=022 #本地用户上传文件的umask
    • userlist_enable=YES #限制了/etc/vsftpd/user_list文件里的用户不能访问
    • local_root #设置一个本地用户登陆后进入到的目录
    • user_config_dir #设置用户的单独配置文件,用哪一个账户登录就用哪一个账户命名,实现不一样用户不一样权限
    • download_enable #限制用户的下载权限shell

    • chown_uploads=YES #全部匿名上传的文件的所属用户将会被更改为chown_username
    • chown_username=whoever #匿名上传文件所属用户名
    • chroot_local_user=YES/NO #是否禁止用户离开设置的根目录安全

    • chroot_list_enable=YES #若是启动这项功能,则全部列在chroot_list_file之中的使用者不能更改根目录
    • chroot_list_file=/etc/vsftpd/chroot_list #指出被锁定在自家目录中的用户的列表文件。服务器

  • chroot_list_enable=YES经过与chroot_local_user=YES/NO搭配能实现如下几种效果:session

  1. 当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,能够切换到其余目录;未在文件中列出的用户,不能切换到其余目录。
  2. 当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其余目录;未在文件中列出的用户,能够切换到其余目录。
  3. 当chroot_list_enable=NO,chroot_local_user=YES时,全部的用户均不能切换到其余目录。
  4. 当chroot_list_enable=NO,chroot_local_user=NO时,全部的用户都可以切换到其余目录。
  • 虚拟用户设置:
    • pam_service_name=vsftpd #设置PAM使用的名称,默认值为/etc/pam.d/vsftpd。
    • check_shell=YES #(注意:仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登陆 )
    • guest_enable= YES/NO #启用虚拟用户。默认值为NO。
    • guest_username=ftp #这里设置虚拟用户的宿主用户。默认值为ftp。
    • virtual_use_local_privs=YES/NO #当该参数激活(YES)时,虚拟用户与其宿主用户有相同的权限。 当此参数关闭(NO)时,虚拟用户与匿名用户有相同的权限。默认状况下此参数是关闭的(NO)。
  • 超时设置:
    • idle_session_timeout=600 #空闲链接超时
    • data_connection_timeout=120 #数据传输超时
    • ACCEPT_TIMEOUT=60 #PASV请求超时
    • connect_timeout=60 #PROT模式链接超时
  • 服务器功能选项:
    • xferlog_enable=YES   #开启日记功能
    • xferlog_std_format=YES   #使用标准格式
    • log_ftp_protocol=NO   #当xferlog_std_format关闭且本选项开启时,记录全部ftp请求和回复,当调试比较有用.
    • pasv_enable=YES   #容许使用pasv模式
    • pasv_promiscuous+NO   #关闭安全检查,当心呀.
    • port_enable=YES   #容许使用port模式
    • prot_promiscuous   #关闭安全检查
    • tcp_wrappers=YES   #开启tcp_wrappers支持
    • pam_service_name=vsftpd   #定义PAM 所使用的名称,预设为vsftpd。
    • nopriv_user=nobody   #当服务器运行于最底层时使用的用户名
    • pasv_address=(none)   #使vsftpd在pasv命令回复时跳转到指定的IP地址.
  • 服务器性能选项:
    • ls_recurse_enable=YES #是否能使用ls -R命令以防止浪费大量的服务器资源
    • one_process_model #是否使用单进程模式
    • listen=YES #绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么standalone模式
    • text_userdb_names=NO #当使用者登入后使用ls -al 之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。如果但愿出现拥有者的名称,则将此功能开启。
    • use_localtime=NO   #显示目录清单时是用本地时间仍是GMT时间,能够经过mdtm命令来达到同样的效果
    • use_sendfile=YES   #测试平台优化
  • 信息类设置:
    • ftpd_banner=welcome to FTP .  #login时显示欢迎信息.若是设置了banner_file则此设置无效
    • dirmessage_enable=YES   #容许为目录配置显示信息,显示每一个目录下面的message_file文件的内容
    • setproctitle_enable=YES   #显示会话状态信息,关!
  • 文件定义:
    • chroot_list_file=/etc/vsftpd/vsftpd.chroot_list #定义限制/容许更改用户主目录的文件
    • userlist_file=/etc/vsftpd/vsftpd.user_list #定义限制/容许用户登陆的文件
    • banner_file=/etc/vsftpd/banner #定义登陆信息文件的位置
    • banned_email_file=/etc/vsftpd/banned_emails #禁止使用的匿名用户登录时做为密码的电子邮件地址
    • xferlog_file=/var/log/vsftpd.log #日志文件位置
    • message_file=.message #目录信息文件
  • 目录定义:
    • user_config_dir=/etc/vsftpd/userconf  #定义用户配置文件的目录
    • local_root=webdisk #此项设置每一个用户登录后其根目录为/home/username/webdisk。定义本地用户登录的根目录,注意定义根目录能够是相对路径也能够是绝对路径。相对路径是针对用户家目录来讲的.
    • anon_root=/var/ftp   #匿名用户登录后的根目录
  • 用户链接选项:
    • max_clients=100   #可接受的最大client数目
    • max_per_ip=5   #每一个ip的最大client数目
    • connect_from_port_20=YES   #使用标准的20端口来链接ftp
    • listen_address=192.168.0.2   #绑定到某个IP,其它IP不能访问,多网卡多IP机器时有用
    • listen_port=2121   #绑定到某个端口
    • ftp_data_port=2020   #数据传输端口
    • pasv_max_port=0   #pasv链接模式时可使用port 范围的上界,0 表示任意。默认值为0。
    • pasv_min_port=0   #pasv链接模式时可使用port 范围的下界,0 表示任意。默认值为0。
  • 数据传输选项、vsftp限速:
    • anon_max_rate=51200 #匿名用户的传输比率(b/s)
    • local_max_rate=5120000 #本地用户的传输比率(b/s)
  • 安全选项:
    • Idle_session_timeout=600 #(用户会话空闲后10分钟断)
    • Data_connection_timeout=120 #(将数据链接空闲2分钟断)
    • Accept_timeout=60 #(将客户端空闲1分钟后断)
    • Connect_timeout=60 #(中断1分钟后又从新链接)
    • Local_max_rate=50000 #(本地用户传输率50K)
    • Anon_max_rate=30000 # (匿名用户传输率30K)
    • Max_clients=200 #(FTP的最大链接数)
    • Max_per_ip=4 #(每IP的最大链接数)
    • Listen_port=5555 #(从5555端口进行数据链接)
  • SSL相关选项:
    • ssl_enable=yes/no //是否启用 SSL,默认为no
    • allow_anon_ssl=yes/no //是否容许匿名用户使用SSL,默认为no
    • force_anon_logins_ssl=yes/no //匿名用户登陆时是否加密,默认为no
    • force_anon_data_ssl=yes/no //匿名用户数据传输时是否加密,默认为no
    • force_local_logins_ssl=yes/no //非匿名用户登录时是否加密,默认为yes
    • force_local_data_ssl=yes/no //非匿名用户传输数据时是否加密,默认为yes
    • rsa_cert_file=/path/to/file //rsa证书的位置
    • dsa_cert_file=/path/to/file //dsa证书的位置
    • ssl_sslv2=yes/no //是否激活sslv2加密,默认no
    • ssl_sslv3=yes/no //是否激活sslv3加密,默认no
    • ssl_tlsv1=yes/no //是否激活tls v1加密,默认yes
    • ssl_ciphers=加密方法 //默认是DES-CBC3-SHA,也能够是值HIGH,安全性更加好。相关的值,能够用man ciphers在帮组文档中找到
    • implicit_ssl=YES // 是否启用隐式ssl功能
    • listen_port=990 // 隐式ftp端口设置,若是不设置,默认仍是21,可是当客户端以隐式ssl链接时,默认会使用990端口,致使链接失败!!
    • debug_ssl=YES // 输出ssl相关的日志信息
相关文章
相关标签/搜索