Vsftp服务---本地用户访问控制

说明和演示

什么是用户访问控制?
用户控制列表文件有两个:/etc/vsftpd/ftpusers、/etc/vsftpd/user_list
所谓用户控制列表文件,即当作黑名单来对待。黑名单默认情况下有两个,只要把用户名写入这两个文件当中,这个用户就被禁止登录。但是/etc/vsftpd/user_list这个文件可以通过修改配置文件转变成白名单,即只有写入白名单的用户才能登录,没有的就不能登录。

当ftpusers是黑名单,user_list是白名单时,如果我把同一个用户都写进去,这个用户是能访问还是不能访问?
不能访问,因为黑名单的优先级更高,白名单相对较低。GNU/Linux的基本原则是遵守最严格权限。
打开这两个文件,如下图:
Vsftp服务---本地用户访问控制
Vsftp服务---本地用户访问控制
《Vsftp服务–客户端及tcpdump抓包》文章中,我们用tcpdump抓到了登录ftp的明文密码,所以,这也是为什么vsftp默认的黑名单文件ftpusers和user_list需要禁止root登陆,这是合理的。

一、文件的配置

简单了解了用户访问控制文件的作用,我们就来做一定的配置。文件ftpusers一般不修改,主要是围绕user_list文件做文章。在实际生产服务器中,看ftp用户具体怎么个登录法。如果是允许一小部分人登录,不允许大部分人登录,那就采用白名单方式;而如果是允许大多数人登录,极个别的不允许登录,那就采用黑名单方式。采用黑名单的方式更加的常用,绝大多数公司都是使用这。

userlist_enable=YES # 开启用户访问控制。如果等于NO,代表用户访问控制丧失作用,即黑名单与白名单的功能是失效的,两个文件没有任何作用。这里必须是YES。
Vsftp服务---本地用户访问控制
userlist_deny=YES # 默认情况下,配置文件没有此项。默认值为YES,表示/etc/vsftpd/user_list是黑名单。如果修改为NO,则表示/etc/vsftpd/user_list是白名单。
userlist_file=/etc/vsftpd/user_list #默认情况下,也没有写。