一部のユーザーのみに 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 サーバーを制御できません。代わりに、ログオンを許可する必要があるユーザー名のリストを含むテキスト ファイルを 2 週間ごとに受け取ります。

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

答え1

必要なことを実現するには 2 つの方法を見つけました。1 つ目は thrig が説明した方法です。各ユーザー名を /etc/security/access.conf に個別に追加する必要があります。

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

ldap_access_filter = (|(ユーザーID=ユーザー1)(ユーザーID=ユーザー2).....)

2 番目のソリューションは構築が非常に面倒ですが、sssd は少数の LDAP レコードのみを取得するため、大規模な LDAP 環境ではパフォーマンス上の大きな利点が得られます。

答え2

これらのユーザーをグループに入れ、そのユーザーがそのグループに属している場合にのみログインを許可するpam_accessルールを使用します(必要に応じて、、システム管理者、監視にも適用されます)。例:/etc/security/access.confroot

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

関連情報