web-dev-qa-db-ja.com

Linux / ADとSSSDの統合:ユーザーがログインできるシステムを選択する方法は?

SSSDを備えた一部のLinuxシステムでActiveDirectoryの統合を試みています。

これまでのところ、Linuxシステムをドメインに参加させており、AD定義のユーザーでLinuxシステムにログインできます。現在、すべてのADユーザーは、SSSDと統合されているすべてのLinuxシステムにログインできます。

ユーザーFooにLinuxServer01へのログインを許可し、LinuxServer02へのログインを禁止するにはどうすればよいですか?および/またはユーザーがすべてのLinuxシステムにログインするのをブロックし、特定のシステムにユーザーを許可するにはどうすればよいですか?

3
Luke404

againstを使用することをお勧めします。次の2つの理由により、ほとんどの展開でフィルターベースのアクセス制御フィルターを使用します。

  • 彼らは正しく理解するのが難しい
  • フィルターは、ログインしているユーザーエントリに適用されます。ユーザーがネストされたグループのメンバーであるときにフィルターにmemberof属性が含まれている場合、これは興味深い結果をもたらす可能性があります。親、ネストされたグループは決して一致しません。

ユーザーまたはユーザーのグループを許可するなどの非常に単純な使用例では、 simple access provider を使用することをお勧めします

複雑なユースケースの場合、SSSDは1.12.xシリーズ以降のAD GPOをサポートします。詳細は sssd-ad man page を検索してください。

2
jhrozek

もう少し行った後RTFM I sssd-ad(5)で詳細を見つけました -初めてそれらを逃したに違いありません:

  • デフォルトのaccess_providerpermitであるため、認証できるすべてのユーザーにシステムへのログイン許可が与えられます。これは sssd.conf(5) で説明されています。
  • 特定の権限を管理するには、access_provider = adを設定する必要があります
  • 次に、 sssd-ad(5) の詳細に従ってad_access_filterを使用して、ログインできるユーザーのフィルターを定義します

(しかし、ユーザーがログインを許可するために、AD側でシステムを1つずつ指定する方法があるかどうかはまだわかりません)

0
Luke404

Sssd.conf構成ファイルで、必要に応じてアクセスフィルターを変更できます。

domain/defaultセクションで、次のことを試してください。

access_provider = ldap
ldap_access_filter = memberOf=cn=GroupName,ou=Groups,dc=domain,dc=com
0
ewwhite