“/etc/pam.d/vsftpd”被阻止的用户仍然可以“lftp”登录

“/etc/pam.d/vsftpd”被阻止的用户仍然可以“lftp”登录

我有一个 ftp 服务器在 192.168.122.50 机器上运行

以下是 /etc/vsftpd/vsftpd.conf 文件中的最后三个指令

pam_service_name=vsftpd
#userlist_enable=YES
#userlist_deny=YES

以下是 /etc/pam.d/vsftpd 文件的内容

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

以下是 /etc/vsftpd/ftpusers 文件的内容

#This is the list of blocked users as per the following line /etc/pam.d/vsftpd
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

因此,例如,root应该阻止两个用户访问本机上的 ftp 服务器,而ssam应该允许两个用户访问。

现在从客户端计算机 192.168.0.2,我尝试了这个。

am@centos ~]$ ftp 192.168.122.50
Connected to 192.168.122.50 (192.168.122.50).
220 (vsFTPd 2.2.2)
Name (192.168.122.50:ssam): ssam    
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> exit
221 Goodbye.
[ssam@centos ~]$ ftp 192.168.122.50
Connected to 192.168.122.50 (192.168.122.50).
220 (vsFTPd 2.2.2)
Name (192.168.122.50:ssam): root
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> bye
221 Goodbye.

输出与帕姆ssam设置为允许用户和root阻止用户。

现在我已经在客户端尝试了lftp命令以root用户连接到服务器。

[ssam@centos ~]$ lftp [email protected]
Password: 
lftp [email protected]:~>

确实可以登录被阻止用户, root因为我收到 lftp 提示。现在我尝试运行命令。

lftp [email protected]:~>
ls: Login failed: 530 Login incorrect.

现在,服务器似乎已经恢复理智,它告诉我我无法做任何其他事情。但可插入的身份验证模块应该在第一个实例中阻止用户root进入服务器。

有人能为我解释一下吗?

答案1

IMO,这是客户端工作的一种方式lftp。检查日志文件/var/log/secure(在 RHEL/CentOS 上)或类似的事件,例如

pam_listfile(vsftpd:auth): Refused user root for service vsftpd

我通过嗅探 FTP 流量(RHEL 6.x、vsftpd 2.2.2、lftp 4.0.9)验证了这种行为。 FTP 连接只有在您输入一些有效的 FTP 命令(又称为ls)后才会建立,而在您输入用户名及其密码时才会建立。

答案2

vim /etc/vsftpd/vsftpd.conf 

来吧倒数第二行......userlist_enable="NO"

保存并之后

# vim /etc/vsftpd/ftpusers

从中删除“root”用户...在此文件中

不允许通过 ftp 登录的用户。保存并重新启动服务。我希望它能起作用......

相关内容