第21章 ポリシー: sudo の使用
Identity Management には、sudo ポリシーを IdM ドメイン全体に予測通りかつ一貫性を持って適用するメカニズムがあります。sudo ポリシーは、ドメインユーザーおよびドメインホストに適用されます。
21.1. sudo および IPA について
この sudo ユーティリティーを使用すると、システム管理者は特定のユーザーに権限を委譲して、特定のコマンドを root または別の指定されたユーザーとして実行できます。このユーティリティーは、コマンドとその引数の監査証跡を提供するため、アクセスを追跡できます。
21.1.1. Identity Management の全般的な sudo 設定
この sudo ユーティリティーは、ローカル設定ファイルを
/etc/sudoers
使用します。このファイルは、コマンドや sudo アクセスのあるユーザーを定義します。このファイルはマシン間で共有できますが、マシン間で sudo 設定ファイルを分散するネイティブの方法はありません。
Identity Management は一元管理された LDAP データベースを使用して sudo 設定が含まれるため、すべてのドメインホストでグローバルに利用できるようになります。また、Identity Management には sudo エントリー用の特別な LDAP スキーマがあり、より柔軟でシンプルな設定が可能です。このスキーマは、2 つの主要な機能を追加します。
- Identity Management スキーマは、sudo netgroups に加え、ホストグループに対応します。一方、sudo は netgroups のみに対応します。Identity Management は、すべてのホストグループに対応するシャドウ netgroup も作成します。これにより、IdM 管理者はホストグループを参照する sudo ルールを作成できますが、ローカルの sudo コマンドは対応する netgroup を使用します。
- Identity Management では、sudo コマンドグループ の概念が導入されました。グループには複数のコマンドが含まれ、コマンドグループは sudo 設定で参照できます。
sudo はホストグループおよびコマンドグループに対応していないため、sudo ルールの作成時に Identity Management は IdM sudo 設定を sudo 設定に変換します。
デフォルトでは、この sudo 情報は LDAP 上で匿名で利用できません。そのため、Identity Management は、LDAP/sudo 設定ファイル
/etc/sudo-ldap.conf
で設定できるデフォルトの sudo ユーザー uid=sudo,cn=sysaccounts,cn=etc,$SUFFIX
を定義します。
Identity Management sudo と Identity Management の両方で、sudo 設定の一部としてユーザーグループがサポートされます。ユーザーグループは Unix または非 POSIX グループのいずれかになります。POSIX グループ以外を作成すると、グループのユーザーはグループから POSIX 以外の権限を継承するため、アクセスの問題が発生する可能性があります。Unix グループと非 POSIX グループを選択すると、管理者はグループのフォーマットで選択でき、継承されたパーミッションまたは GID 情報の問題を回避することができます。
21.1.2. sudo および Netgroups
前述の「Identity Management の全般的な sudo 設定」ように、Identity Management の sudo エントリーに使用される LDAP スキーマは、netgroups のほかにもホストグループをサポートしています。実際に、Identity Management は、見えるホストグループとシャドウ netgroup の 2 つのグループを作成します。sudo 自体は、グループフォーマットの NIS 形式のネットグループのみに対応します。
1 つの重要な点として、sudo が NIS netgroups を使用している場合でも、NIS サーバーまたは NIS クライアントを設定する必要はありません。グループが sudo 用に作成されると、NIS オブジェクトが Directory Server インスタンスに作成され、その情報は NSS_LDAP または SSSD によって取得されます。クライアント (この場合 sudo) は、Identity Management の Directory Server によって提供される情報から必要な NIS 情報を抽出します。[7]
簡単にして、sudo 設定には NIS 形式の netgroups が必要です。NIS は必要ありません。
ただし、IdM sudo がホストグループと連携するには、nisdomainname コマンドを使用して、sudo ルールで使用する NIS ドメイン名を設定します。nisdomainname の使用方法やその他の設定機能の設定については、「IdM
sudo
ポリシーを使用するようにホストを設定」を参照してください。
21.1.3. サポートされる sudo クライアント
IdM クライアントシステムとして対応しているシステムは、IdM で sudo クライアントとして設定できます。