pAM + LDAPを備えたサーバーがいくつかあります。
設定は標準です( http://arthurdejong.org/nss-pam-ldapd/setup または http://wiki.debian.org/LDAP/PAM を参照) 。たとえば、/ etc/pam.d/common-authには次のものが含まれます。
auth sufficient pam_unix.so nullok_secure
auth requisite pam_succeed_if.so uid >= 1000 quiet
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
そしてもちろん、それはldapとローカルユーザーの両方で機能します。ただし、すべてのログインは最初にpam_unix.soに移動し、失敗してから、pam_ldap.soを正常に試行します。その結果、LDAPユーザーのログインごとによく知られている失敗メッセージが表示されます。
pam_unix(<some_service>:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=<some_Host> user=<some_user>
1日に最大60000のそのようなログメッセージがあり、PAMが最初にLDAP認証を試行し、失敗した場合にのみ、pam_unix.soを試してみるように構成を変更したいと思います(サーバー)。しかし、common-authを次のように変更すると、
auth sufficient pam_ldap.so use_first_pass
auth sufficient pam_unix.so nullok_secure
auth required pam_deny.so
次に、ローカル(非LDAP)ユーザーで(たとえば、ssh経由で)ログインできなくなります。
誰かが正しい構成を知っていますか? Debianとnss-pam-ldapdがデフォルトで最初にpam_unix.soを持っているのはなぜですか?それを変更する方法は本当にありませんか?
前もって感謝します。
追伸ログを無効にしたくありませんが、最初にLDAP認証を設定したいと思います。
hayalciはコメントでそれに答えました:
auth sufficient pam_ldap.so
auth sufficient pam_unix.so nullok_secure try_first_pass
auth required pam_deny.so
ローカルユーザーとネットワークユーザーが別々のuid範囲にいる場合(これは良い考えです)、次のような行を追加できます(ローカルユーザーが0〜4999の範囲にあると仮定します)。
auth [success=1 default=ignore] pam_succeed_if.so uid >= 5000 quiet
pam_unix.so
行の前。 uid> = 4999の場合、1行を渡します。pam_ldap.soに直接移動します。
また、pam_ldap.so use_first_pass
の前にパスワードを要求する行がない場合は、pam_ldap.so
をpam_ldap.so try_first_pass
またはpam_ldap.so
に変更する必要があります。
私はでテストします:
auth [success=1 default=ignore] pam_succeed_if.so uid >= 4999 quiet
auth sufficient pam_unix.so nullok_secure
auth requisite pam_succeed_if.so uid >= 4999 quiet
auth sufficient pam_ldap.so
auth required pam_deny.so
きみの:
auth sufficient pam_unix.so nullok_secure
auth requisite pam_succeed_if.so uid >= 1000 quiet
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
次のように変更します(use_first_passは、前のモジュールのパスワード(pam_ldap.so)を使用することを意味します)
auth sufficient pam_ldap.so
auth requisite pam_succeed_if.so uid >= 1000 quiet
auth sufficient pam_unix.so use_first_pass nullok_secure
auth required pam_deny.so
短所(hpuxの場合):LDAPサーバーがハングした場合(同期攻撃。 https://fedorahosted.org/389/ticket/47554 を参照)、クライアントもハングします。これはHPUXサーバーで発生します( linuxおよびaixではありません。ldapclientdという名前のhpuxプロセス)。これは、すべてのログインが(ILO/MPからのrootとしても)ブロックされることを意味します。解決策は、サーバーを再起動することです:-(