关闭

vsftpd 配置:chroot_local_user与chroot_list_enable详解

标签: vsftpdchroot_local_userchroot_list_enable
49033人阅读 评论(8) 收藏 举报

很多情况下,我们希望限制ftp用户只能在其主目录下(root dir)下活动,不允许他们跳出主目录之外浏览服务器上的其他目录,这时候我就需要使用到chroot_local_user,chroot_list_enable,chroot_list_file这三个选项了。以下是对三个配置项的解释: 本文原文出处: http://blog.csdn.net/bluishglc/article/details/42398811 严禁任何形式的转载,否则将委托CSDN官方维护权益!

  • 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与chroot_list_enable的组合效果,可以参考下表:

chroot_local_user=YESchroot_local_user=NO
chroot_list_enable=YES1.所有用户都被限制在其主目录下 2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制1.所有用户都不被限制其主目录下 2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,受到限制
chroot_list_enable=NO1.所有用户都被限制在其主目录下 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添加例外!即:使用Case 1的设置!
  • 匿名用户默认的root是/var/ftp



12
1
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

VSFTP 中关于chroot_list_file配置的说明

vsftpd.confchroot_list_file=/etc/vsftpd.chroot_list如果设置为chroot_local_user=YESchroot_list_enable=YES(...
  • u014461454
  • u014461454
  • 2014-03-31 17:57
  • 1100

chroot_list_file限定目录

hroot_list_enable=YES   chroot_list_file=/etc/vsftpd.chroot_list   然后编辑 vi chroot_list  将需要限定用...
  • mzlqh
  • mzlqh
  • 2012-05-23 11:20
  • 8600

500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list

出现这个的原因是用户没有变更根目录的权限。
  • duomoke
  • duomoke
  • 2014-06-12 17:11
  • 13042

vsftpd.conf 配置 chroot_local_user chroot_list_enable chroot_list_file 详解

原文链接http://blog.51cto.com/lizhuan/1782568 , 感谢这位博主的博文 ,解释的很明确 很多情况下,我们希望限制ftp用户只能在其主目录下(root dir)下活动...
  • Andy86869
  • Andy86869
  • 2017-12-01 21:10
  • 70

vsftpd 配置:chroot_local_user与chroot_list_enable详解

vsftpd 配置:chroot_local_user与chroot_list_enable详解 标签: vsftpdchroot_local_userchroot_list_enable ...
  • evilcry2012
  • evilcry2012
  • 2016-12-27 13:19
  • 582

[乐意黎原创]centos vsftpd 显示500 OOPS: could not read chroot() list file:/etc/chroot_list

乐意黎在配置ECS里的 Centos 7.2 时, 装了vsftpd, 无意中出现点状态, 登录测试抛错. 如下: 500 OOPS: could not read chroot()...
  • aerchi
  • aerchi
  • 2017-06-01 13:34
  • 1336

vsftpd的安装与配置--问题排查

今天安装ftp,不幸折腾了半天...., 现记下来,归结起来主要是对Linux系统及命令不够熟练,当然还有在查问题时一定要首先看日志,而不是看配置。 0)首先确定一下,是否安装了ftp服务      ...
  • budapest
  • budapest
  • 2013-09-17 22:46
  • 11976

VSFTPD全攻略(/etc/vsftpd/vsftpd.conf文件详解)

VSFTPD全攻略(/etc/vsftpd/vsftpd.conf文件详解) 版权所有:http://blog.itpub.net/10201716/viewspace-742712/ #...
  • haoge921026
  • haoge921026
  • 2016-07-19 16:24
  • 9704

Vsftpd下如何把用户限制在家目录中

sftpd下如何把用户限制在家目录中   Vsftpd下如何把用户限制在家目录中 我们要自己建一个文件,在/etc目录中 #touch /etc/vsftpd.chroot_l...
  • u010433704
  • u010433704
  • 2016-03-08 22:26
  • 1221

vsftp配置登陆用户限制目录chroot

vi /etc/vsftpd.conf把chroot_ list_enable=YES的#去掉同时把chroot_list_file=/etc/vsftpd.chroot_list 然后把要限制的用户...
  • cnbird2008
  • cnbird2008
  • 2008-01-18 16:36
  • 3997
    个人资料
    • 访问:4002370次
    • 积分:30746
    • 等级:
    • 排名:第186名
    • 原创:286篇
    • 转载:8篇
    • 译文:3篇
    • 评论:685条
    关于作者
    架构师,CSDN博客专家,目前正从事大数据领域的研究和开发工作,对企业级应用架构、分布式存储、SaaS和领域驱动设计有丰富的实践经验,热衷函数式编程,喜欢摄影和旅行。
    博客专栏
    最新评论