上一主题: 启用策略验证下一主题: 查看与策略关联的规则


创建定义变量的策略

通过创建和部署定义变量的策略,您可以在许多端点上定义同样的变量。

创建定义变量的策略

  1. 使用定义变量的 selang 部署命令创建脚本文件。 使用以下 selang 命令定义每个变量:
    editres ACVAR ("variable_name") value("variable_value")
    
  2. (可选)将使用变量的 selang 命令添加到脚本文件中。

    注意:您必须定义策略中的每个变量,然后才能在该策略的后续规则中引用这些变量。 使用以下格式引用变量:"<!variable>"

  3. 在 DMS 上存储策略。

示例:创建定义变量的策略

在该示例中,下列策略定义了名为 jboss_home 且具有 /opt/jboss 值的变量,并且创建规则来授权用户 Mark 访问 /opt 目录中的任何资源(该目录是通过 JBoss 访问的)。

editres ACVAR ("jboss_home") value("/opt/jboss")
authorize FILE /opt/* uid(Mark) access(all) via(pgm("<!jboss_home>/jboss"))

当端点编译该策略时,会创建以下规则:

authorize FILE /opt/* uid(Mark) access(all) via(pgm(/opt/jboss/jboss))

示例:创建定义多个变量值的策略

下列策略定义了名为 jboss_home 且具有 C:\JBoss 值的变量,将 C:\Program Files\JBoss 值添加到 jboss_home 变量中,并创建访问规则:

editres ACVAR ("jboss_home") value("C:\JBoss")
editres ACVAR ("jboss_home") value+("C:\Program Files\JBoss")
editres FILE ("<!jboss_home>\bin") defacc(none) audit(a)

当端点编译该策略时,会创建以下规则:

editres FILE ("C:\JBoss\bin") defacc(none) audit(a)
editres FILE ("C:\Program Files\JBoss\bin") defacc(none) audit(a)

示例:使用变量将同样的策略部署到 Windows 和 UNIX 端点

下列示例说明了虽然 JBoss 在每个操作系统上的安装位置不同,但是仍可使用变量将相同的 JBoss 策略部署到 Windows 和 UNIX 端点。 该示例定义了两个 jboss_home 变量,这些变量定义每个操作系统的 JBoss 安装位置:

  1. 定义两个 jboss_home 变量,这些变量定义每个操作系统的 JBoss 安装位置。
  2. 创建使用 jboss_home 变量保护 JBoss 安装位置的策略,并将该策略部署到 Windows 和 UNIX 端点:
    editres FILE "<!jboss_home>" defacc(none) audit(all)