安装并启动VSFTPD服务后,会在/etc/vsftpd/目录下创建两个文件:“ftpusers”和“user_list”。
这些文件用于允许或者拒绝登录尝试。
ftpusers 和 user_list 的行为可在 vsftpd.conf 文件中使用 userlist_deny 选项进行配置。
vsftpd.conf 文件还提供了添加第三个自定义文件的选项。
userlist_file=/etc/vsftpd/[custom_file]
下表指定了使用自定义文件以及两个默认文件时的文件行为。
| userlist_deny 设置 | ftpusers | user_list | custom_file |
|---|---|---|---|
| userlist_deny=NO | 在密码之前拒绝 | 在密码之前拒绝 | 允许 |
| userlist_deny=YES | 密码后拒绝 | 允许 | 在密码之前拒绝 |
| no setting | 密码后拒绝 | 密码后拒绝 | 在密码之前拒绝 |
让我们看几个允许和拒绝用户登录 VSFTP 服务器的示例。
允许所有 VSFTP Server 本地用户登录
- 确保文件/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
- 确认文件 /etc/vsftpd/vsftpd.conf 中没有包含 userlist_deny 参数。
# cat /etc/vsftpd/vsftpd.conf | grep userlist_deny #
- 与其中一位用户进行验证。
# 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 本地用户登录
- 在默认 VSFTP 配置下,在 VSFTP 服务器配置文件 /etc/vsftpd/vsftpd.conf 中将“userlist_deny”参数编辑/添加到“NO”:
# vi /etc/vsftpd/vsftpd.conf userlist_deny=NO
- 编辑文件 /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 ]
- 使用允许的用户之一进行测试,用户 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>
- 使用未在 /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
