一部のユーザーにのみopenldap認証を使用する

一部のユーザーにのみopenldap認証を使用する

私はいくつかのLinuxワークステーション(RedHat 7)を設定しようとしていますが、いくつかの珍しい要件を持つLDAPサーバーに対して認証を設定する方法を理解しようとしています。

デフォルトでは、sssdを使用してLDAP認証を設定する方法を知っていますが、要件に合わせて特定のユーザーにのみ認証を制限する方法はわかりません。

LDAP設定を有効にするには、次のコマンドラインを使用します。

authconfig --enableldap --enableldapauth --ldapserver="<redacted>" --ldapbasedn="<redacted>" --update --enablemkhomedir

これにより、すべてのLDAPユーザーがログインできるようになり、わかっている限りうまく機能します。しかし、私の要件は、LDAPの特定のユーザーだけがログインでき、ユーザーのリストが別のテキストファイル(ユーザーのログイン名別)として提供されることです。

追加情報:私たちは何千人ものユーザーを持つLDAPサーバー(実際にはActive Directory)を持っています。これらのワークステーションで作業する必要がある約20人だけが、このワークステーションにログインできます。残念ながら、LDAPにはこれに関する情報はなく、LDAPサーバーを制御することはできません。代わりに、数週間に一度のログインを許可する必要があるユーザー名のリストを含むテキストファイルを受け取ります。

このリストのユーザーのみに制限しながら、LDAPを使用してユーザー名/パスワード/ユーザーIDなどを取得するように認証を設定するにはどうすればよいですか?

答え1

私は必要なことを達成する2つの方法を見つけました。最初はthrigによって説明されます。各ユーザー名を/etc/security/access.confに個別に追加する必要がありました。

2番目のオプションは、sssd.confにLDAPクエリ文字列を指定することです。

ldap_access_filter = (|(userid=user1)(userid=user2).....)

2番目の解決策は構築するのが非常に面倒ですが、sssdは少数のLDAPレコードのみを取得するため、最終的に大規模なLDAP環境で大きなパフォーマンス上の利点を提供します。

答え2

これらのユーザーをグループに入れてから、ルールを使用してpam_accessその/etc/security/access.confグループ内のユーザー(およびroot必要に応じてシステム管理者と監視)に対してのみログインを許可します。

+ : root wheel nagios : ALL
+ : yourusergrouphere : ALL
- : ALL : ALL

関連情報