「passwd」がローカルパスワードを要求しないようにする

「passwd」がローカルパスワードを要求しないようにする

認証にLDAPのみを使用するようにサーバーを設定しましたauthconfig-tui。すべてがうまくいきますが、実行するとpasswd2つのパスワードプロンプトが表示されます。

[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/authconfigldapを使用するように変更すると、

AuthconfigはPAMファイル(特に)、特に/etc/pam.d/system-authファイルを変更します。認証にLDAPを使用するように構成されたRed Hatシステムでは、一般的なsystem-authファイルは次のとおりです。

次に、「pam_unix」モジュールが呼び出され、ユーザーにパスワードの入力を求められます。 「nullok」および「likeauth」パラメータは、nullパスワードがアカウントをロックするとは見なされず、モジュールがaと呼ばれる場合でも同じ値(「auth」値と「類似」値)を返すことを意味します。資格情報設定モジュール。このモジュールは「必須」ではなく「十分」です。 "pam_ldap"モジュールが呼び出され、"use_first_pass"というメッセージが表示されます。つまり、ユーザーに別のパスワードを要求するのではなく、pam_unixモジュールによって収集されたパスワードを使用するように求められます。このモジュールは「sufficient」と表示され、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

おすすめ記事