vsftpd中的userlist_enable和chroot_list_enable配置

vsftpd中的userlist_enable和chroot_list_enable配置

一、需求

  1.只想让指定的账户能登陆ftp,其它本地账户不允许登陆ftp。

  2.只想让指定的账户不限制在其主目录,其它账户都限制在其主目录。


二、让指定的账户能登陆ftp,其它本地账户不允许登陆ftp。

  为验证效果我们建两个用户TOM和JIM,并且只把TOM添加到user_list列表里面,并且设置anonymous_enable=NO 拒绝匿名登录。配合使用userlist_enable 和userlist_deny ,每次更改完配置文件后都要重启服务 /etc/init.d/vsftpd restart。现在我们来进行访问测试。

  1.userlist_enable=YES,userlist_deny=YES

1
2
  窗口(有登录框,TOM不允许登录,JIM允许登录)
  命令(tom输入用户名后被拒绝,jim允许登录)

  2.userlist_enable=NO,userlist_deny=NO

1
2
  窗口(TOM和JIM都允许登录)
  命令(TOM和JIM都允许登录)

  3.userlist_enable=YES, userlist_deny=NO 

1
2
  窗口(无登录框,直接拒绝)
  命令(tom允许登录,jim不允许登录)

  4.userlist_enable=NO,userlist_deny=YES

1
2
  窗口(TOM和JIM都允许登录)
  命令(TOM和JIM都允许登录)

  根据以上测试,发现测试3符合我的要求。下面给出我的vsftpd的配置:

1
2
3
userlist_enable=YES
userlist_deny=No
userlist_file=/etc/vsftpd/user_list_only

  user_list_only的文件内容如下:

1
2
3
# cat user_list_only 
hunk
hunkzhu

  经测试,只有hunk和hunkzhu可以登录ftp,其它本地账户均拒绝(输入账户名直接拒绝)。以后新增ftp账户只需将该账户加入到/etc/vsftpd/user_list_only中,确保安全,满足个人需求。


三、只想让指定的账户不限制在其主目录,其它账户都限制在其主目录。

  对于chroot_local_user与chroot_list_enable的组合效果,可以参考下表:


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指定的用户列表,没有任何“例外”用户


  根据以上测试,发现chroot_local_user=YES,chroot_list_enable=YES符合我的要求,下面给出我的vsftpd得配置:

1
2
3
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/nochroot_list
chroot_local_user=YES

  nochroot_list的文件内容如下:

1
2
# cat nochroot_list
hunk

  经测试,只有hunk在登陆后,不被限制在其主目录下。


四、总结

  同时配置以上两种之后,该ftp服务器只有hunk和hunkzhu能登陆,而且hunkzhu被限制在其主目录下,hunk不被限制在其主目录下。






      本文转自独弹古调  51CTO博客,原文链接:http://blog.51cto.com/hunkz/1759184,如需转载请自行联系原作者






上一篇:JSON Web Token 入门教程


下一篇:SublimeREPL配置Python运行命令,更换Python路径