/etc/vsftpd/ftpusers #不能访问FTP用户列表
/etc/vsftpd/user_list
ftpusers与user_list区别在哪呢?我们来分析一下
ftpusers
首先请明确一点:ftpusers不受任何配制项的影响,它总是有效,它是一个黑名
单!ftpusers列表中的用户不能访问FTP:这是vsftpd服务在启动后已经决定的,只要在, 这个列表里面用户都不能访问FTP,没有其它的开关可以控制该文件存放的
是一个禁止访问FTP的用户列表,通常为了安全考虑,管理员不
希望一些拥有过大权限的帐号(比如root)登入FTP,以免通过该帐号从FTP上传或
下载一些危险位置上的文件从而对系统造成损坏。
user_list
而user_list则是和vsftpd.conf中的userlist_enable和userlist_deny两个配置项紧密相
关的,它可以有效,也可以无效,有效时它可以是一个黑名单,也可以是一个白名
单!那么是什么的设置决定了它的作用呢?这就是问题二要解释的。
同时user_list用户列表和ftpusers用户列表中内相同,当然也不能访问FTP
所以简单总结就是:ftpusers和user_list没有任何关系,ftpusers文件总是生效,
那么user_list里面如果我们手动添加的用户能否访问FTP
取决于vsftpd.conf配置文件中的两个选项
userlist_enable=YES(默认有这个)
userlist_deny (默认没这个)
userlist_file=/etc/vsftpd/user_list_only #自己定义文件,默认user_list文件
为验证效果我们建两个用户TOM和JIM,并且只把TOM添加到user_list列表里面
为了不影响测试我们设置 anonymous_enable=NO 拒绝匿名登录
tom: 在user_list中, jim:不在user_list中
重启服务 service vsftpd restart
配合使用 userlist_enable 和 userlist_deny
1)userlist_enable=YES,userlist_deny=YES
窗口(有登录框,TOM不允许登录,JIM允许登录)
命令(tom输入用户名后被拒绝,jim允许登录)
2)userlist_enable=NO,userlist_deny=NO
窗口(TOM和JIM都允许登录)
命令(TOM和JIM都允许登录)
3)userlist_enable=YES, userlist_deny=NO
窗口(无登录框,直接拒绝)
命令(tom允许登录, jim不允许登录)
4)userlist_enable=NO,userlist_deny=YES
窗口(TOM和JIM都允许登录)
命令(TOM和JIM都允许登录)
窗口就是windows的资源管理器,命令就是使用命令行登录了。。。。
综上实验得出以下结论
所有在ftpusers里的用户,在测试时都不可登录
当 userlist_enable=NO 时 user_list列表不生效,列表内和列表外的用户都可登录
当 userlist_enable=YES,userlist_deny=YES 时user_list列表内的用户不可以登录,列表外用户可登录
当 userlist_enable=YES , userlist_deny=NO 时user_list 只允许列表以外的用户登录,并且必需是以命令行的方式
结合生产环境中的实际情况
1)要有登录框(一般用户不会用命令)
2)保证安全,控制用户的登录
我们可以做以下配置
userlist_enable=YES(默认,默认,默认,整了大半天,居然是默认,哈哈)
因为userlist_deny=YES一项即使不设置也为YES(vsftpd已经默认了)
不明白的童鞋们记住默认就行不用改也不用加,不想让谁登录就把他关到user_list列表就OK了。
综上实验得出以下结论:
userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去
ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用
户这三类用户集合进行的设置。
当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才
会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户
(除去ftpusers中的用户)都可以登入FTP
当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:
所有出现在名单中的用户都会被拒绝登入;
当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只
有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);另外
需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中
加入一行:anonymous