私たちの組織には多くのLinuxサーバーがあり、認証にActive Directoryを使用しようとしています。 SSSDとKerberosを使用してActive Directoryを介して認証する概念証明サーバーを設定しました。現時点では、特定のグループ(グループAと呼ばれる)のユーザーだけがサーバーにログインできるように設定していますが、正常に動作します。次に、他のグループ(グループB)のユーザーに自動sudo権限を付与し始めました。以下は、Active Directoryの組織単位構造です。
グループA
グループB
Active Directoryユーザーとして正常にログインでき、以下にsssd.confを含めました。
[sssd]
services = nss, pam
config_file_version = 2
domains = <organization>.LOCAL
[domain/<organization>.LOCAL]
id_provider = ad
access_provider = ad
# Use this if users are being logged in at /.
# This example specifies /home/DOMAIN-FQDN/user as /root. Use with pam_mkhomedir.so
override_homedir = /home/%d/%u
# makes all users use bash as the default shell
override_shell = /bin/bash
# only allows users from the following groups to log in
ad_access_filter = (|(memberOf=cn=group-A,ou=Groups,ou=department,dc=organization,dc=local))
/etc/sudoers.d
グループBのすべてのメンバーにsudo権限を許可するために、次の内容でgroup-B-admin-groupというファイルを作成しました。
%group-B ALL=(ALL) ALL
この時点では、グループBのユーザーにもsudoを使用できません。実行時にsudo su
すぐにパスワードを要求し、ユーザーがsudoersファイルにないことを報告します。sudo touch this
、sudo cat
およびその他のコマンドを実行するには、sudo vim
パスワードを要求する前に約60秒待つ必要があります。パスワードを入力した後、sudoは私がsudoersファイルにないことを報告します。この時点でファイル名を/etc/sudoers.d/group-B-admin-group
次のように変更しましたが、/etc/sudoers.d/group-B
突然すべてがうまくいきました。グループBユーザーには、パスワードの入力を求められたらすぐに表示され、高い権限でプログラムを実行します。
私の質問はこれです:ファイル名に実際の意味がないと思います(複数のユーザー/グループに対する権限を1つのファイルに入れることはできます)、構成の一部でグループとファイルの名前を同じにする必要がありますか?なぜこれが起こるのか理解したいです。