上一主题: 如何为用户替换安装 sesu下一主题: 使用 CA ControlMinder 的 sesu 实用程序替代系统的 su 实用程序


设置基本用户替换规则

开始使用 sesu 实用程序之前,您应在数据库中设置某些常用用户替换规则。 这些规则防止出现未知用户替换特权用户帐户这种不希望的情况,并允许特定用户和进程执行必要的用户替换活动。

设置基本用户替换规则

  1. 为 root 用户 (USER.root) 创建具有以下属性的代理资源:

    这将防止所有用户替换 root 用户,除非显式授权。 显式授权所有管理员替换 root 用户。

    注意:您可以分别授权给个别管理员,也可以使用管理员组授权给所有管理员。

  2. 为 root 用户组 (GROUP.other) 创建具有以下属性的代理资源:

    这将防止所有用户替换 root 用户组,除非显式授权。 显式授权所有管理员替换 root 用户组。

    注意:大部分 UNIX 系统上的 root 用户组是 othersys

  3. 按如下所示更改 USER._default 的用户替换规则:

    这将防止所有用户替换任何组(除非显式授权),并且授权 root 用户和 root 用户组替换任何用户(除非显式拒绝)。

    注意:需要特别授权 root 用户,才能允许程序(例如 dtlogin)将会话所有权从 root 用户(默认 X 窗口所有者 uid=0)切换到任何其他用户。 否则,尝试登录将失败,因为 CA ControlMinder 会阻止任何未经显式授权的用户替换活动。

  4. 按如下所示更改 GROUP._default 的组替换规则:

    这将防止所有用户替换任何组,除非显式授权,并授权 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)