设置ftp黑白名单:(系统账号FTP登录限制文件)
ftpusers和user_list两个文件用途和区别:
ftpusers它不受任何配置项影响,总是有效,是黑名单!
创建2个测试账号:test1和test2
[root@localhost xmcsxy]# cd /etc/vsftpd/
[root@localhost vsftpd]# ll
总用量 40
-rw-------. 1 root root 125 6月 10 2021 ftpusers //这里就是黑名单系统用户存在的地方
-rw-------. 1 root root 361 6月 10 2021 user_list
-rw-r--r--. 1 root root 19 12月 14 17:16 users.conf
-rw-------. 1 root root 12288 12月 14 17:16 users.db
-rw-------. 1 root root 357 12月 14 17:20 vsftpd.conf
-rw-------. 1 root root 5116 12月 14 17:11 vsftpd.conf.bak
-rwxr--r--. 1 root root 338 6月 10 2021 vsftpd_conf_migrate.sh
drwxr-xr-x. 2 root root 27 12月 14 17:25 vsftpd_user_conf
//ftpuser就是一个黑名单
//我们做的测试就把用户户放在这
[root@localhost vsftpd]# cat ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
nobody
[root@localhost vsftpd]# useradd test1
[root@localhost vsftpd]# passwd test1
更改用户 test1 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost vsftpd]# useradd test2
[root@localhost vsftpd]# passwd test2
更改用户 test2 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost vsftpd]# ls
ftpusers users.conf vsftpd.conf vsftpd_conf_migrate.sh
user_list users.db vsftpd.conf.bak vsftpd_user_conf
[root@localhost vsftpd]# vim ftpusers
/在里面的最后一行添加
test1
[root@localhost vsftpd]# systemctl restart vsftpd
用test1就是错误的
用没有加入黑名单的test2就可以访问
接着测试user_list 则是和 vsftpd.conf 中的 userlist_enable 和 userlist_deny 两个配置项
紧密相关的,它可以有效,也可以无效,有效时它可以是一个黑名单,也可以是
一个白名单!
[root@localhost vsftpd]# vim ftpusers
//在这个配置文件里把刚才测试黑名单的系统用户给释放出来
[root@localhost vsftpd]# vim user_list
//添加在最后一行
test1
[root@localhost vsftpd]# vim vsftpd.conf
//配置里有了userlist_enable 在他下面加userlist_deny
userlist_deny
[root@localhost vsftpd]# systemctl restart vsftpd
user_list 则是和vsftpd.conf中的userlist_enable和userlist_deny两个配置项紧密相关的,它可以有效,也可以无效,有效时它可以是一个黑名单,也可以是一个白名单!<br /> userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用户这三类用户集合进行的设置。<br />为了说明这个问题,我们来建立两个测试用户:<br /> test1: 在user_list中<br /> test2:不在user_list中<br />然后我们分别给两个配置项取不同的值,分4种Case进行测试:<br /> Case 1: userlist_enable=YES, userlist_deny=YES<br /> test1: 拒绝登入<br /> <br /> test2: 允许登录<br /> <br /> Case 2: userlist_enable=YES, userlist_deny=NO<br /> test1: 允许登录<br /> <br />test2:拒绝登录(如user_list文件开头的注释所述,甚至不会提示输入密码,即无登入提示框,直接拒绝连接)<br /> <br />Case 3: userlist_enable=NO,userlist_deny=NO<br /> test1: 允许登录<br /> <br /> test2: 允许登录<br /> <br />Case 4: userlist_enable=NO,userlist_deny=YES<br /> test1: 允许登录<br /> <br /> test2: 允许登录<br /> 