FTP服务器vsftpd配置项-黑白名单(userlist_enableuserlist_deny)

Posted DATA数据猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTP服务器vsftpd配置项-黑白名单(userlist_enableuserlist_deny)相关的知识,希望对你有一定的参考价值。

FTP服务器vsftpd配置项-黑白名单(userlist_enable、userlist_deny)

  通过修改vsftpd配置文件vsftpd.conf,实现ftp服务器登录黑白名单,主要涉及两个配置userlist_enable=YES、userlist_deny=NO,两个文件ftpusers、user_list

一、创建测试用户

  创建三个测试用户,通过修改两个配置项,查看三个用户的登录状态

# 创建测试用户一
[root@zxy_master vsftpd]# useradd t1
[root@zxy_master vsftpd]# passwd t1
Changing password for user t1.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
# 创建测试用户二
[root@zxy_master vsftpd]# useradd t2
[root@zxy_master vsftpd]# passwd t2
Changing password for user t2.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
# 创建测试用户三
[root@zxy_master vsftpd]# useradd t3
[root@zxy_master vsftpd]# passwd t3
Changing password for user t3.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

二、账户文件分配

  上一步中已经创建了三个用户,现将用户t1追加到ftpusers文件用户t2追加到user_list文件用户t3不放在两个文件中。

[root@zxy_master vsftpd]# echo t1 >> ftpusers
[root@zxy_master vsftpd]# echo t2 >> user_list

三、测试配置项

3.1 测试一

userlist_enable=YES

userlist_deny=YES

# 1.将两个配置项都改为YES,userlist_enable=YES userlist_deny=YES
[root@zxy_master vsftpd]# vim vsftpd.conf
# 2.重启vsftpd服务
[root@zxy_master vsftpd]# systemctl restart vsftpd.service
# 3.测试t1,登录失败
[root@zxy_master vsftpd]# lftp t1@localhost
Password:
lftp t1@localhost:~> ls
ls: Login failed: 530 Login incorrect.
lftp t1@localhost:~> exit
# 4.测试t2,登录失败
[root@zxy_master vsftpd]# lftp t2@localhost
Password:
lftp t2@localhost:~> ls
ls: Login failed: 530 Permission denied.
lftp t2@localhost:~> exit
# 5.测试t3,登陆成功
[root@zxy_master vsftpd]# lftp t3@localhost
Password:
lftp t3@localhost:~> ls
-rw-rw-r--    1 1002     1002            0 Nov 10 01:19 a.txt
drwxrwxr-x    2 1002     1002         4096 Nov 10 01:19 zxy

3.2 测试二

userlist_enable=YES

userlist_deny=NO

# 1.修改两个配置项,userlist_enable=YES userlist_deny=NO
[root@zxy_master vsftpd]# vim vsftpd.conf
# 2.重启服务
[root@zxy_master vsftpd]# systemctl restart vsftpd.service
# 3.测试t1,登录失败
[root@zxy_master vsftpd]# lftp t1@localhost
Password:
lftp t1@localhost:~> ls
ls: Login failed: 530 Permission denied.
lftp t1@localhost:~> exit
# 4.测试t2,登录成功
[root@zxy_master vsftpd]# lftp t2@localhost
Password:
lftp t2@localhost:~> ls
-rw-rw-r--    1 1002     1002            0 Nov 10 01:19 a.txt
drwxrwxr-x    2 1002     1002         4096 Nov 10 01:19 zxy
lftp t2@localhost:/> exit
# 5.测试t3,登录失败
[root@zxy_master vsftpd]# lftp t3@localhost
Password:
lftp t3@localhost:~> ls
ls: Login failed: 530 Permission denied.
lftp t3@localhost:~> exit

3.3 测试三

userlist_enable=NO

userlist_deny=YES

# 1.修改两个配置项,userlist_enable=NO userlist_deny=YES
[root@zxy_master vsftpd]# vim vsftpd.conf
# 2.重启服务
[root@zxy_master vsftpd]# systemctl restart vsftpd.service
# 3.测试t1,登录失败
[root@zxy_master vsftpd]# lftp t1@localhost
Password:
lftp t1@localhost:~> ls
ls: Login failed: 530 Login incorrect.
lftp t1@localhost:~> exit
# 4.测试t2,登录成功
[root@zxy_master vsftpd]# lftp t2@localhost
Password:
lftp t2@localhost:~> ls
-rw-rw-r--    1 1002     1002            0 Nov 10 01:19 a.txt
drwxrwxr-x    2 1002     1002         4096 Nov 10 01:19 zxy
lftp t2@localhost:/> exit
# 5.测试t3,登录成功
[root@zxy_master vsftpd]# lftp t3@localhost
Password:
lftp t3@localhost:~> ls
-rw-rw-r--    1 1002     1002            0 Nov 10 01:19 a.txt
drwxrwxr-x    2 1002     1002         4096 Nov 10 01:19 zxy
lftp t3@localhost:/> exit

3.3 测试四

userlist_enable=NO

userlist_deny=NO

# 1.修改两个配置项,userlist_enable=NO userlist_deny=NO
[root@zxy_master vsftpd]# vim vsftpd.conf
# 2.重启服务
[root@zxy_master vsftpd]# systemctl restart vsftpd.service
# 3.测试t1,登录失败
[root@zxy_master vsftpd]# lftp t1@localhost
Password:
lftp t1@localhost:~> ls
ls: Login failed: 530 Login incorrect.
lftp t1@localhost:~> exit
# 4.测试t2,登录成功
[root@zxy_master vsftpd]# lftp t2@localhost
Password:
lftp t2@localhost:~> ls
-rw-rw-r--    1 1002     1002            0 Nov 10 01:19 a.txt
drwxrwxr-x    2 1002     1002         4096 Nov 10 01:19 zxy
lftp t2@localhost:/> exit
# 5.测试t3,登录成功
[root@zxy_master vsftpd]# lftp t3@localhost
Password:
lftp t3@localhost:~> ls
-rw-rw-r--    1 1002     1002            0 Nov 10 01:19 a.txt
drwxrwxr-x    2 1002     1002         4096 Nov 10 01:19 zxy
lftp t3@localhost:/> exit

3.4 测试结果分析

3.4.1 分析用户

用户t1存在于ftpusers文件

用户t2存在于user_list文件

用户t3不存在这两个文件

3.4.2 分析结果

四次测试结果,可得出如下表格:

当userlist_enable=YES,userlist_deny=YES时,ftpusers和user_list文件中用户均不能访问

当userlist_enbale=YES,userlist_deny=NO时,仅允许user_list文件中用户访问

当userlist_enbale=NO时,禁止ftpusers文件中用户访问

userlist_enable=YESuserlist_enable=NO
userlist_deny=YESt3t2,t3
userlist_deny=NOt2t2,t3

3.4.3 分析结论

如果当前FTP服务器仅需设置黑名单时,那么修改配置userlist_enable=NO即可

如果当前FTP服务器仅需设置白名单时,那么修改配置userlist_enable=YES,userlist_deny=NO即可

如果当前FTP服务器需设置黑白名单时,那么修改配置userlist_enable=YES,userlist_deny=NO即可

以上是关于FTP服务器vsftpd配置项-黑白名单(userlist_enableuserlist_deny)的主要内容,如果未能解决你的问题,请参考以下文章

Linux服务器配置---ftp用户黑名单

ftp搭建

FTP文件共享

建立简单的FTP服务器

FTP服务器vsftpd配置项-主目录限制(chroot_local_userchroot_list_enable)

Linux 搭建ftp服务器