LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 623|回复: 0

!!!关于vsftpd和PAM的协作的问题!!!

[复制链接]
发表于 2005-12-23 16:22:36 | 显示全部楼层 |阅读模式
[color="Red"]关于vsftpd和PAM的协作的问题!!!
/etc/vsftpd/vsftpd.conf内容如下::help
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES

/etc/pam.d/vsftpd内容如下
auth        sufficient        pam_ftp.so debug users=ftp,anonymous,nobody ignore
auth        required        pam_listfile.so item=user sense=deny onerr=succeed file=/etc/vsftpd.ftpusers
auth        required        pam_stack.so service=system-auth
auth        required        pam_shells.so
account        required        pam_stack.so service=system-auth
session        required        pam_stack.so service=system-auth

按照/etc/vsftpd/vsftpd.conf的pam_service_name=vsftpd设置,它会去读取PAM的/etc/pam.d/vsftpd内容的设定,那么,auth        sufficient        pam_ftp.so debug users=ftp,anonymous,nobody ignore将会是这样的过程:
sufficient表示如果此项成功,则不进行下面的auth堆叠步骤,如果失败则忽视。而它会去调用/lib/security/pam_ftp.so,users=ftp,anonymous,nobody表示这三个用户作为默认的匿名用户对待而直接通过认证,而ignore表示忽略mail地址。
auth        required        pam_listfile.so item=user sense=deny onerr=succeed file=/etc/vsftpd.ftpusers表示如果上面的sufficient失败了,则会继续此行内容,那么表示在/etc/vsftpd.ftpusers文件中的用户如果出现则会被deny(sense=deny),否则succeed(onerr=succeed)。

我在/etc/vsftpd.ftpusers将ftp,nobody,anonymous添加进去,而/etc/vsftpd.user_list中没有添加此三个用户。

文件/etc/hosts.allow和/etc/hosts.deny没有做任何关于vsftpd的限制

我重新启动vsftpd,然后ftp 192.168.1.22(本机)之后,键入正确用户密码后,ftp和anonymous可以正常登陆,但是nobody用户却不可以,显示的是:
331 please specify the password
passwd:
530 login incorrect
login failed
ftp>
为什么呢?如果按照上面的设置的话,nobody用户也是可以正常登陆的阿!为什么却不能呢?
注:防火墙以及selinux均disable了
:help
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表