用户linux显示不全,输入用户名显示多行login incorrect,无法登陆linux

ZyCarmen 2009.4.29

centos 4.2

localhost login 输入用户名,回车,迅速显示多行 login incorrect 后又跳回 localhost

login

搜索发现是 /etc/pam.d/login 的问题

查看/etc/pam.d/login存在,但login不是文件而是个目录,其下面是乱七八糟的东西,将整个login文件夹删除,拷贝一个login文件(cp

/usr/share/doc/nss_ldap-226/pam.d/login /etc/pam.d/)

/usr/share/doc/nss_ldap-226/pam.d/login为:

#%PAM-1.0

auth required /lib/security/pam_securetty.so

auth required /lib/security/pam_nologin.so

auth sufficient /lib/security/pam_ldap.so

auth required /lib/security/pam_unix_auth.so try_first_pass

account sufficient /lib/security/pam_ldap.so

account required /lib/security/pam_unix_acct.so

password required /lib/security/pam_cracklib.so

password required /lib/security/pam_ldap.so

password required /lib/security/pam_pwdb.so use_first_pass

session required /lib/security/pam_unix_session.so

#session optional /lib/security/pam_console.so

重启机器,恢复。

不过,发现一般机器上的 /etc/pam.d/login

和上述 /usr/share/doc/nss_ldap-xxx/pam.d/login

不同,觉得如果当时的环境能复制其它电脑上的 /etc/pam.d/login 也能解决问题的。

一般机器上的 /etc/pam.d/login:

#%PAM-1.0

auth required pam_securetty.so

auth required pam_stack.so service=system-auth

auth required pam_nologin.so

account required pam_stack.so service=system-auth

password required pam_stack.so service=system-auth

# pam_selinux.so close should be the first session rule

session required pam_selinux.so close

session required pam_stack.so service=system-auth

session required pam_loginuid.so

session optional pam_console.so

# pam_selinux.so open should be the last session rule

session required pam_selinux.so multiple open

以下是说明这个文件:

auth

这种类型的模块为用户验证提供两方面的服务。

让应用程序提示用户输入密码或者其它的标记,确认用户的合法性;

account

这类模块执行基于非验证的帐户管理。它主要用来限制/允许用户对某个服务的访问时间,当前有效的系统资源(最多可以有多少个用户),限制用户的位置(例如:root用户只能从控制台登录)。

session

这类模块的主要用途是处理为用户提供服务之前/后需要做的一些事情,包括:记录打开/关闭交换数据的信息,监视目录等。

password

用来升级用户验证标记。

required

表示即使某个模块对用户的验证失败,也要等所有的模块都执行完毕之后,PAM才返回错误信息。这样做是为了不让用户知道被哪个模块拒绝。如果对用户验证成功,所有的模块都会返回成功信息。

requisite

如果特定的模块对用户的验证失败,PAM马上返回一个错误信息,把控制权交回应用程序,不再执行其它模块进行验证。

sufficient

表示如果一个用户通过这个模块的验证,PAM结构就立刻返回验证成功信息,把控制权交会应用程序。后面的层叠模块即使使用requisite或者required控制标志,也不再执行。如果验证失败sufficient的作用和optional相同。

optional

表示即使本行指定的模块验证失败,也允许用户享受应用程序提供的服务。使用这个标志,PAM框架会忽略这这个模块产生的验证错误,继续顺序执行下一个层叠模块。

1 auth required pam_securetty.so

#path: /lib/security/pam_securetty.so

#conf: /etc/securetty

#设定root用户可以登陆的tty,若登陆的tty没有在文件中列出,

#则该tty无法让root用户登陆,该文档对其他用户无限制。

#doc: /usr/share/doc/pam-0.75/txts/README.pam_securetty

2 auth required pam_stack.so service=system-auth

#path: /lib/security/pam_stack.so

#pam_stack.so的作用是调用服务。

#srv: /etc/pam.d/system-auth

#调用auth类型pam,在此处调用如下:

# auth required /lib/security/$ISA/pam_env.so

# conf /etc/security/pam_env.conf

#

#doc: /usr/share/doc/pam-0.75/txts/README.pam_env

# auth sufficient /lib/security/$ISA/pam_unix.so likeauth

nullok

# path: /lib/security/pam_unix.so

#

# doc: /usr/share/doc/pam-0.75/txts/README.pam_unix

# auth required /lib/security/$ISA/pam_deny.so

#path: /lib/security/pam_deny.so

#this module always fails, it ignores all options.

#:

#doc: /usr/share/doc/pam-0.75/txts/README.pam_deny

3 auth required pam_nologin.so

#path: /lib/security/pam_nologin.so

#这个模块始终让root用户可以登陆,其他用户只有在/etc/nologin文件不存在时可以登陆,

#:若/etc/nologin文件存在,则在输入正确用户名及任意密码后将该文件内容显示给用户。

#doc: /usr/share/doc/pam-0.75/txts/README.pam_nologin

4 account required pam_stack.so service=system-auth

#pam_stack.so的作用是调用服务。

#srv: /etc/pam.dsystem-auth

#调用account类型pam,在此处调用如下:

#account required /lib/security/$ISA/pam_unix.so

# path: /lib/security/pam_unix.so

#

# doc: /usr/share/doc/pam-0.75/txts/README.pam_unix

5 password required pam_stack.so service=system-auth

#pam_stack.so的作用是调用服务。

#srv: /etc/pam.d/system-auth

#调用password类型pam,在此处调用如下:

#password required /lib/security/$ISA/pam_cracklib.so retry=3

type=

#path: /lib/security/pam_cracklib.so

#首先调用cracklib例程检查密码强度,如果密码不易破译,就进行下面的强度检查:

#新密码是否旧密码的回文。

#新密码是否只是就密码改变了大小写

#doc: /usr/share/doc/pam-0.75/txts/README.pam_cracklib

#password required /lib/security/$ISA/pam_unix.so nullok

use_authtok md5 shadow

#path: /lib/security/pam_unix.so

#

#doc: /usr/share/doc/pam-0.75/txts/README.pam_unix

#password required /lib/security/$ISA/pam_deny.so

#path: /lib/security/pam_deny.so

#这个模块能够用来拒绝任何访问。

#this module always fails, it ignores all options.

#doc: /usr/share/doc/pam-0.75/txts/README.pam_deny

6 session required pam_stack.so service=system-auth

#pam_stack.so的作用是调用服务。

#srv: /etc/pam.d/system-auth

#调用password类型pam,在此处调用如下:

#session required /lib/security/$ISA/pam_limits.so

#path: /lib/security/pam_limits.so

#conf: /etc/security/limits.conf

#

#doc: /usr/share/doc/pam-0.75/txts/README.pam_limits

#session required /lib/security/$ISA/pam_unix.so

#path: /lib/security/pam_unix.so

#

#

#doc: /usr/share/doc/pam-0.75/txts/README.pam_unix

7 session optional pam_console.so

#path: /lib/security/pam_console.so

#

#

#doc: /usr/share/doc/pam-0.75/txts/README.pam_console

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值