基本的なユーザ置換ルールの設定

sesu ユーティリティの使用を開始する前に、一般的なユーザ置換ルールをデータベースに定義します。これらのルールによって、不明なユーザが特権ユーザのアカウントへユーザ置換するのを防ぎます。一方で、これらのルールは、特定のユーザまたはプロセスが必要なユーザ置換操作を行えるようにします。
capamsc141jp
sesu ユーティリティの使用を開始する前に、一般的なユーザ置換ルールをデータベースに定義します。これらのルールによって、不明なユーザが特権ユーザのアカウントへユーザ置換するのを防ぎます。一方で、これらのルールは、特定のユーザまたはプロセスが必要なユーザ置換操作を行えるようにします。
基本的なユーザ置換ルールを設定するには、以下の手順に従います。
  1. 以下の属性を指定して、root ユーザ(USER.root)用の SURROGATE リソースを作成します。
    • 所有者 -
      nobody
    • デフォルト アクセス -
      none
    • すべての管理者にフル コントロールを付与する
    この SURROGATE リソースにより、特に許可のない限り、すべてのユーザが root にユーザ置換できなくなります。すべての管理者に、root にユーザ置換する権限が明示的に付与されます。
    注:
    個々の管理者に別々に権限を付与するか、管理者のグループを使用してすべての管理者に権限を付与することができます。
  2. 以下の属性を指定して、root ユーザのグループ(GROUP.other)用の SURROGATE リソースを作成します。
    • 所有者 -
      nobody
    • デフォルト アクセス -
      none
    • すべての管理者にフル コントロールを付与する
    この SURROGATE リソースにより、明示的に許可されていない限り、すべてのユーザが root ユーザのグループに置換できなくなります。すべての管理者に、root グループに置換する権限が明示的に付与されます。
    注:
    ほとんどの UNIX システムでは、root ユーザのグループは
    other
    または
    sys
    です。
  3. USER._default 用のユーザ置換ルールを以下のように変更します。
    • 所有者 -
      nobody
    • デフォルト アクセス -
      none
    • root に、未定義のユーザになる権限を付与する
    • 管理者のグループに、未定義のユーザになる権限を付与する
    ルールの変更によって、明示的に許可されていない限り、すべてのユーザがグループを置換できなくなります。また、明示的に拒否されていない限り、root ユーザおよび root ユーザのグループにユーザを置換する権限が付与されます。
    注:
    root に権限を与えると、dtlogin などのプログラムがセッションの所有者をデフォルトの X ウィンドウ所有者である root (uid=0)からほかのユーザに変更することが許可されます。権限を付与しない場合、明示的に許可されていないユーザ置換操作を
    Privileged Access Manager Server Control
    がブロックしているため、ログインに失敗します。
  4. GROUP._default 用のグループ置換ルールを以下のように変更します。
    • 所有者 -
      nobody
    • デフォルト アクセス -
      none
    • root に、未定義のグループを置換する権限を付与する
    • 管理者のグループに、未定義のグループを置換する権限を付与する
    ルールの変更によって、明示的に許可されていない限り、すべてのユーザがグループを置換できなくなります。また、明示的に拒否されていない限り、root ユーザおよび root ユーザのグループにグループを置換する権限が付与されます。
例: selang での基本的なユーザ置換ルールの設定
以下の selang コマンドを使用して、基本的なユーザ置換ルールを環境に設定します。
nr surrogate USER.root defacc(n) own(nobody) auth surrogate USER.root gid(sys_admin_GID) acc(a) nr surrogate GROUP.other defacc(n) own(nobody) auth surrogate GROUP.other gid(sys_admin_GID) acc(a) cr surrogate USER._default defacc(n) own(nobody) cr surrogate GROUP._default defacc(n) own(nobody) auth surrogate USER._default uid(root) acc(a) auth surrogate GROUP._default uid(root) acc(a) auth surrogate USER._default gid(sys_admin_GID) acc(a) auth surrogate GROUP._default gid(sys_admin_GID) acc(a)