CentOS/RHEL:如何允许或者拒绝用户登录到 VSFTP 服务器

安装并启动VSFTPD服务后,会在/etc/vsftpd/目录下创建两个文件:“ftpusers”和“user_list”。
这些文件用于允许或者拒绝登录尝试。
ftpusers 和 user_list 的行为可在 vsftpd.conf 文件中使用 userlist_deny 选项进行配置。
vsftpd.conf 文件还提供了添加第三个自定义文件的选项。

userlist_file=/etc/vsftpd/[custom_file]

下表指定了使用自定义文件以及两个默认文件时的文件行为。

userlist_deny 设置ftpusersuser_listcustom_file
userlist_deny=NO在密码之前拒绝在密码之前拒绝允许
userlist_deny=YES密码后拒绝允许在密码之前拒绝
no setting密码后拒绝密码后拒绝在密码之前拒绝

让我们看几个允许和拒绝用户登录 VSFTP 服务器的示例。

允许所有 VSFTP Server 本地用户登录

  1. 确保文件/etc/vsftpd/ftpusers 和/etc/vsftpd/user_list 中不包含我们要允许VSFTP 登录访问的用户。
# cat /etc/vsftpd/ftpusers
# Users that are not allowed to login via ftp
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
# cat /etc/vsftpd/user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
  1. 确认文件 /etc/vsftpd/vsftpd.conf 中没有包含 userlist_deny 参数。
# cat /etc/vsftpd/vsftpd.conf  | grep userlist_deny
#
  1. 与其中一位用户进行验证。
# ftp vsftpsrv
Connected to vsftpsrv (192.168.149.10).
220 (vsFTPd 2.0.5)
Name (192.168.149.10:root): user
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
之路教程 https://onitr oad .com

允许少数 VSFTP Server 本地用户登录

  1. 在默认 VSFTP 配置下,在 VSFTP 服务器配置文件 /etc/vsftpd/vsftpd.conf 中将“userlist_deny”参数编辑/添加到“NO”:
# vi /etc/vsftpd/vsftpd.conf
userlist_deny=NO
  1. 编辑文件 /etc/vsftpd/user_list 以包含允许的本地用户,添加用户 user01 和 user02.
# cat /etc/vsftpd/user_list
user01
user02

3、重启VSFTP Server上的vsftpd服务。

[root@vsftpsrv ~]# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]
  1. 使用允许的用户之一进行测试,用户 user01 能够登录。
# ftp vsftpsrv
Connected to vsftpsrv (192.168.149.10).
220 (vsFTPd 2.0.5)
Name (192.168.149.10:root): user01
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
  1. 使用未在 /etc/vsftpd/user_list 中列出的用户进行测试。
    检查 user_list 文件中未包含的用户“user03”。
# ftp vsftpsrv
Connected to vsftpsrv (192.168.149.10).
220 (vsFTPd 2.0.5)
Name (192.168.149.10:root): user03
530 Permission denied.
Login failed.
ftp>

用户通过 ftp 登录到 vsftpd 服务器时出现错误“530:权限被拒绝”

日期:2020-09-17 00:12:10 来源:oir作者:oir