web-dev-qa-db-ja.com

nssを設定せずにpam_ldapを設定できますか?

私のサーバーでは、システムユーザーにChefがプロビジョニングされており、これらのマシンに追加のユーザーを公開する必要はありません。ただし、pamダッシュボードの認証バックエンドにmonitを利用したいと思います。

libnss-ldapdを機能させるには、pam_ldapを設定する必要がありますか?それとも私はこれを間違った方法で考えていますか? /etc/pam.d/common-*pam_ldapを使用しない場合、nssを設定しても本当に重要ですか?

1
Steve Buzonas

それは、私たちが話しているpam_ldapのフレーバーによって異なります。 OSについては言及していませんが、libnss-ldapdから、Debianのいくつかのフレーバーについて話していることがわかります。

libpam-ldaplibpam-ldapdは2つの別個の獣であり、どちらもpam_ldap.soを実装しています。 ldapdフレーバーはnslcd(libnss-ldapdではない)に依存しており、NSSコンポーネントを有効にしなくても使用できます。 nslcdがlibnss-ldapdに強い依存関係を持っているかどうかは思い出せませんが、それでも/etc/nsswitch.confに「ldap」を追加した場合にのみ参照されます。どういうわけか、NSSを背後で何かをしていることを心配する必要はありません。

この時点で、あなたはおそらく違いが何であるか(そしてなぜ人々が追加された依存関係を気にするのか)疑問に思っているので、ここに景品があります:

  • PADLのpam_ldapモジュール(libpam-ldap)は積極的に開発されていません。新しくて面白いことは何も起こりません。
  • デーモンの欠如には代償が伴います。ライブラリが接続や状態を共有する方法はありません。 ライブラリを呼び出すたびには、独自のLDAP接続を起動し、破棄する必要があります。 libpam-ldapd(およびそのことについてはsssd)の主な強みは、バックエンドデーモンが実際のLDAP接続を処理し、その到達可能性に関して実行状態を維持できることです。
  • libpam-ldapdには 少なくとも1つの状況機能 があります。これはsssdまたは他のPAMモジュールのいずれにも存在しません。

NSSモジュールを使用している場合、デーモンを含めることは、LDAPサーバーに到達するときに個別にタイムアウトする必要があるすべてのプログラムが理想的とは言えないため、より厄介な点です。私は、それを難し​​い方法で学ぶ必要がなかったすべての若いLinux管理者をうらやましく思います。

これで、NSS統合を回避でき、選択したモジュールに応じてnslcdデーモンを回避できます。実装戦略はあなた次第です。

1
Andrew B