防止“passwd”询问本地密码

防止“passwd”询问本地密码

我已将服务器设置为仅使用 LDAP 进行身份验证authconfig-tui。一切正常,但是当我运行时passwd,我收到两个密码提示:

[beamin@rhel6-test-server1 ~]$ passwd
Changing password for user beamin.
Changing password for beamin.
(current) UNIX password:
Enter login(LDAP) password:

为什么两者都要求?我可以阻止这种情况发生吗?

以下是 的内容/etc/pam.d/passwd

$ cat /etc/pam.d/passwd
#%PAM-1.0
auth       include      system-auth
account    include      system-auth
password   substack     system-auth
-password   optional    pam_gnome_keyring.so

include()的内容如下/etc/pam.d/system.auth

$ cat /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password    sufficient    pam_unix.so nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so

nsswitch.conf@Nikhil 询问的内容:

$ egrep 'passwd|shadow' /etc/nsswitch.conf
#passwd:    db files nisplus nis
#shadow:    db files nisplus nis
passwd:     files
shadow:     files 

答案1

/etc/nsswitch.conf告诉系统在密码、组和影子映射中查找用户、组的存储位置。无论是本地文件、nis/yp 还是 ldap,它都是 nsswitch.conf。支持此更改的配置稍后将出现在 pam 配置或 nss 库中。 Linux 上的 pam 确实进行了简化,因为它还支持 tcp_wrappers 以及以各种方式定制 unix 身份验证。

一旦您运行并更改/usr/bin/authconfig为使用 ldap,

Authconfig 将为您更改 PAM 文件(以及其他内容),特别是文件 /etc/pam.d/system-auth。在配置为使用 LDAP 进行身份验证的 Red Hat 系统上,典型的 system-auth 文件如下所示:

接下来调用“pam_unix”模块,它将完成提示用户输入密码的工作。参数“nullok”和“likeauth”意味着空密码不会被视为锁定帐户,并且模块将返回相同的值(“类似于”“auth”值的值),即使它被称为凭证设置模块。请注意,该模块是“足够的”而不是“必需的”。调用“pam_ldap”模块,并被告知“use_first_pass”,换句话说,使用 pam_unix 模块收集的密码,而不是提示用户输入另一个密码。请注意,该模块被标记为“足够”,并且位于 pam_unix 之后,这意味着如果 pam_unix 成功在本地检查密码,则根本不会调用 pam_ldap。

#%PAM-1.0
 # This file is auto-generated.
 # User changes will be destroyed the next time authconfig is run.
 auth        required      pam_env.so
 auth        sufficient    pam_unix.so nullok try_first_pass
 auth        requisite     pam_succeed_if.so uid >= 500 quiet
 auth        sufficient    pam_ldap.so use_first_pass
 auth        required      pam_deny.so

 account     required      pam_unix.so broken_shadow
 account     sufficient    pam_succeed_if.so uid < 500 quiet
 account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
 account     required      pam_permit.so

 password    requisite     pam_cracklib.so try_first_pass retry=3
 password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
 password    sufficient    pam_ldap.so use_authtok
 password    required      pam_deny.so

 session     optional      pam_keyinit.so revoke
 session     required      pam_limits.so
 session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
 session     required      pam_unix.so
 session     optional      pam_ldap.so

/etc/ldap.conf 应该有

pam_lookup_policy yes
pam_password exop

/etc/ssh/sshd_config 应该有并且应该在配置更改后重新启动。

UsePAM yes

相关内容