Linux网络文件共享服务之FTP(5)

  说明:此文件默认是定义的是/etc/vsftpd/ftpusers这个文件中的用户是拒绝登录ftp系统的,若我们需要/etc/vsftpd/ftpuser里的用户允许登录ftp系统,我们只需要改动/etc/pam.d/vsftpd即可,把sense=deny改成sense=allow即可。

  是否启用控制用户登录的列表文件

    userlist_enable=YES 默认有此设置

    userlist_deny=YES(默认值) 黑名单,不提示口令,NO为白名单

    userlist_file=/etc/vsftpd/users_list 此为默认值

[root@test ~]#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.

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

[root@test ~]#

  说明:此文件注释告诉我们如果userlist_deny=NO 那么ftp系统只允许此文件中的用户登录系统;如果userlist_deny=YES 且此选项默认是yes选项,那么此文件中的用户是不允许登录到ftp系统的,况且不会给输入密码的机会。这也就是为什么root用户登录系统,没有输入密码的机会就提示权限决绝,不光是root,像bin,daemon这些用户也是一样的,总之在这个文件中的用户都不会提示输入口令。假如我们想要让root用户登录到ftp系统里,怎么配置呢?首先我们要把此文件的root用户删除。删除了此文件中的root用户,我们用root登录就会有输入密码的提示

[root@test ~]#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.

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

[root@test ~]#ftp 192.168.0.99

Connected to 192.168.0.99 (192.168.0.99).

220 (vsFTPd 3.0.2)

Name (192.168.0.99:root): root

530 Permission denied.

Login failed.

ftp> bye

221 Goodbye.

[root@test ~]#sed -i 's@root@#root@' /etc/vsftpd/user_list

[root@test ~]#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.

#root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

[root@test ~]#ftp 192.168.0.99

Connected to 192.168.0.99 (192.168.0.99).

220 (vsFTPd 3.0.2)

Name (192.168.0.99:root): root

331 Please specify the password.

Password:

530 Login incorrect.

Login failed.

ftp> bye

221 Goodbye.

[root@test ~]#

  说明:我们可以看到我们把root从/etc/vsftpd/user_list文件中注释掉,root用户登录FTP系统就可以输入密码了,但是我们输入正确的口令为什么还是不能登录呢?其实/etc/vsftpd/user_list文件中告诉我们了,说默认vsftpd pam会检查配置文件/etc/vsftpd/ftpusers中的用户,也就说系统用户要想登录FTP系统,必须满足/etc/vsftpd/user_list中没有此用户的同时,pam检查/etc/vsftpd/ftpusers文件此用户通过,如果/etc/pam.d/vsftpd配置文件中指定/etc/vsftpd/ftpusers中的用户拒绝登录到ftp系统,那么此用户也必须满足ftpusers中没有此用户。如果/etc/pam.d/vsftpd配置文件中指定/etc/vsftpd/ftpusers中的用户允许登录到ftp系统,则此用户只需要满足不存在/etc/vsftpd/user_list即可,当然默认情况两个配置文件中都没有的用户是可以登录系统的。

[root@test ~]#cat /etc/vsftpd/ftpusers

# Users that are not allowed to login via ftp

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

[root@test ~]#sed -i 's@root@#root@' /etc/vsftpd/ftpusers

[root@test ~]#cat /etc/vsftpd/ftpusers

# Users that are not allowed to login via ftp

#root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

[root@test ~]#ftp 192.168.0.99

Connected to 192.168.0.99 (192.168.0.99).

220 (vsFTPd 3.0.2)

Name (192.168.0.99:root): root

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (192,168,0,99,66,75).

150 Here comes the directory listing.

drwxr-xr-x    5 0        0            190 Dec 27 04:26 bak

226 Directory send OK.

ftp> bye

221 Goodbye.

[root@test ~]#

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d3aafc88903af1066b1781de2c01910b.html