web-dev-qa-db-ja.com

ローカルパスワードを要求するための `passwd`の防止

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

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

なぜ両方を求めているのですか?それを防ぐことはできますか?

編集#1:

/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

インクルード(/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

編集#2:

@Nikhilからのnsswitch.confの内容:

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

/etc/nsswitch.confこれは、passwd、group、shadowのマップでユーザー、グループのストアを探す場所をシステムに指示します。ローカルファイル、nis/yp、またはldapのいずれであっても、それはnsswitch.confです。この変更をサポートする構成は、後でpam構成またはnssライブラリのいずれかになります。 Linux上のpamは、さまざまな方法でUNIX認証のカスタマイズとともにtcp_wrappersもサポートするため、単純化されます。

実行して変更したら/usr/bin/authconfig ldapを使用するには、

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

次に「pam_unix」モジュールが呼び出され、ユーザーにパスワードの入力を求める作業を行います。引数「nullok」および「likeauth」は、空のパスワードがロックされたアカウントとして扱われず、モジュールが次のように呼び出された場合でも同じ値(「auth」値に「like」である値)を返すことを意味します。資格情報設定モジュール。このモジュールは「十分」であり、「必須」ではないことに注意してください。 '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
3
Nikhil Mulley