• 梦想还是要有的,万一实现了呢...
  • 区块链论坛整装待发...

关于Linux下安装FTP服务(vsftpd) 参数 chroot_local_user和chroot_list_enable关系详解

Linux Vetrue 6个月前 (04-12) 193次浏览 2个评论 二维码链接

      很多情况下,我们希望限制 ftp 用户只能在其主目录下(root dir)下活动,不允许他们跳出主目录之外浏览服务器上的其他目录,这时候我就需要使用到 chroot_local_user,chroot_list_enable,chroot_list_file 这三个选项了。以下是对三个配置项的解释
  • chroot_local_user #是否将所有用户限制在主目录,YES 为启用 NO 禁用.(该项默认值是 NO,即在安装 vsftpd 后不做配置的话,ftp 用户是可以向上切换到要目录之外的)
  • chroot_list_enable #是否启动限制用户的名单 YES 为启用 NO 禁用(包括注释掉也为禁用)
  • chroot_list_file=/etc/vsftpd/chroot_list #是否限制在主目录下的用户名单,至于是限制名单还是排除名单,这取决于 chroot_local_user 的值,我们可以这样记忆: chroot_local_user 总是一个全局性的设定,其为 YES 时,全部用户被锁定于主目录,其为 NO 时,全部用户不被锁定于主目录。那么我们势必需要在全局设定下能做出一些“微调”,即,我们总是需要一种“例外机制”,所以当 chroot_list_enable=YES 时,表示我们“需要例外”。而”例外“的含义总是有一个上下文的,即,当”全部用户被锁定于主目录“时(即 chroot_local_user=YES),”例外”就是:不被锁定的用户是哪些;当”全部用户不被锁定于主目录”时(即 chroot_local_user=NO),”例外”“就是:要被锁定的用户是哪些。这样解释和记忆两者之间的关系就很清晰了!

chroot_local_user=YES chroot_local_user=NO
chroot_list_enable=YES 1.所有用户都被限制在其主目录下 2.使用 chroot_list_file 指定的用户列表,这些用户作为“例外”,不受限制 1.所有用户都不被限制其主目录下 2.使用 chroot_list_file 指定的用户列表,这些用户作为“例外”,受到限制
chroot_list_enable=NO 1.所有用户都被限制在其主目录下 2.不使用 chroot_list_file 指定的用户列表,没有任何“例外”用户 1.所有用户都不被限制其主目录下 2.不使用 chroot_list_file 指定的用户列表,没有任何“例外”用户

假设有 ftp1, ftp2 两个 ftp 用户, 计划让 ftp1 用户锁定在主目录下,不允许切换到其他目录, 但是允许 ftp2 用户自由切换目录,则可以分如下两种方式实现:

方式一

    chroot_local_user=YES
    chroot_list_enable=YES
    /etc/vsftpd/chroot_list 名单列表为:
    ftp2

解释:chroot_local_user=YES 将所有用户限定在主目录内,chroot_list_enable=YES 表示要启用 chroot_list_file, 因为 chroot_local_user=YES,即全体用户都被“限定在主目录内”,所以总是作为“例外列表”的 chroot_list_file 这时列出的是那些“不会被限制在主目录下”的用户。

方式二

    chroot_local_user=NO
    chroot_list_enable=YES
    /etc/vsftpd/chroot_list 名单列表为:
    ftp1

解释:chroot_local_user=NO 则所有用户不被限定在主目录内,chroot_list_enable=YES 表示要启用 chroot_list_file, 因为 chroot_local_user=NO,即全体用户都“不被限定在主目录内”,所以总是作为“例外列表”的 chroot_list_file 这时列出的是那些“会被限制在主目录下”的用户。

其他情况
对于 chroot_local_user 和 chroot_list_enable 的组合还有这样两种情况:

    chroot_local_user=YES
    chroot_list_enable=NO

    chroot_local_user=NO
    chroot_list_enable=NO

当 chroot_list_enable=NO 时,就不再启用 chroot_list_file,此时就是单纯的把全部用户限定或不限定在主目录下了!

关于 chroot_local_user 的设置,通常我们倾向于:全局禁止跳出主目录,使用 chroot_list 添加例外!

Vetrue , 版权所有丨如未注明 , 均为原创丨转载请注明原文链接
原文标题:关于 Linux 下安装 FTP 服务(vsftpd) 参数 chroot_local_user 和 chroot_list_enable 关系详解
原文链接:https://vetrue.com/article/92.html
喜欢 (3)
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 签到成功!签到时间:2018-04-13 15:13:40,每日打卡,生活更精彩哦~
    懂达2018-04-13 15:13 回复
  2. 非常详细
    冷雨夜2018-04-12 16:13 回复