• vsftp黑白名单设置及问题


    问题一:ftpusers和user_list两个文件各自的用途是什么?有何关系?

      首先请明确一点:ftpusers不受任何配制项的影响,它总是有效,它是一个黑名单!
    该文件存放的是一个禁止访问FTP的用户列表,通常为了安全考虑,管理员不希望一些拥有过大权限的帐号(比如root)登入FTP,以免通过该帐号从FTP上传或下载一些危险位置上的文件从而对系统造成损坏。
      而user_list则是和vsftpd.conf中的userlist_enable和userlist_deny两个配置项紧密相关的,它可以有效,也可以无效,有效时它可以是一个黑名单,也可以是一个白名单!那么是什么的设置决定了它的作用呢?这就是问题二要解释的。
      所以简单总结就是:ftpusers和user_list没有任何关系,ftpusers文件总是生效,user_list则取决于userlist_enable和userlist_deny两项配置。
    问题二:vsftpd.conf中的userlist_enable和userlist_deny两个配置项各自起什么作用,两者如何搭配使用?
      为了说明这个问题,我们来建立两个测试用户:

      tom: 在user_list中
      jim:不在user_list中

      然后我们分别给两个配置项取不同的值,分4种情况进行测试:
      1: userlist_enable=YES, userlist_deny=YES

      tom: 拒绝登入
      jim: 允许登录

      2: userlist_enable=YES, userlist_deny=NO

      tom: 允许登录
      jim:拒绝登录(如user_list文件开头的注释所述,甚至不会提示输入密码,即无登入提示框,直接拒绝连接)

      3: userlist_enable=NO,userlist_deny=NO

      tom: 允许登录
      jim: 允许登录

      4: userlist_enable=NO,userlist_deny=YES

      tom: 允许登录
      jim: 允许登录

      综上实验得出以下结论:

      1. userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用户这三类用户集合进行的设置。
      2. 当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
      3. 当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
      4. 当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous

    vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法

    chroot_local_user=YES/NO:禁止所有用户切本目录之外

    chroot_list_enable=YES:禁止部分用户切本目录之外
    chroot_list_file=/etc/chroot_list 要限制的用户列表

    当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误:

    1. 500 OOPS: vsftpd: refusing to run with writable root inside chroot ()  

    这个问题发生在最新的这是由于下面的更新造成的: 

    1. - Add stronger checks for the configuration error of running with a writeable root directory inside a chroot(). This may bite people who carelessly turned on chroot_local_user but such is life.  

    从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

     要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:

    allow_writeable_chroot=YES

  • 相关阅读:
    Linkerd 2.10(Step by Step)—将 GitOps 与 Linkerd 和 Argo CD 结合使用
    Linkerd 2.10(Step by Step)—多集群通信
    Linkerd 2.10(Step by Step)—使用 Kustomize 自定义 Linkerd 的配置
    Linkerd 2.10(Step by Step)—控制平面调试端点
    Linkerd 2.10(Step by Step)—配置超时
    Linkerd 2.10(Step by Step)—配置重试
    Linkerd 2.10(Step by Step)—配置代理并发
    本地正常运行,线上环境诡异异常原因集合
    Need to invoke method 'xxx' declared on target class 'yyy', but not found in any interface(s) of the exposed proxy type
    alpine 安装常用命令
  • 原文地址:https://www.cnblogs.com/bwteacher/p/4769349.html
Copyright © 2020-2023  润新知