46.2.2. 在 IdM CLI 中测试 HBAC 规则


IdM 允许您使用模拟场景测试各种情况下的 HBAC 配置。执行这些模拟测试,您可以在在生产环境中部署 HBAC 规则前发现错误配置问题或安全风险。

重要

在在生产环境中开始使用它们之前,请始终测试自定义 HBAC 规则。

请注意,IdM 不测试 HBAC 规则对可信活动目录(AD)用户的影响。因为 IdM LDAP 目录不存储 AD 数据,所以当模拟 HBAC 场景时,IdM 不能解析 AD 用户的组成员资格。

流程

  • 使用 ipa hbactest 命令测试您的 HBAC 规则。您有测试单个 HBAC 规则或多个 HBAC 规则的选项。

    • 要测试单个 HBAC 规则:

      $ ipa hbactest --user=sysadmin --host=server.idm.example.com --service=sudo --rules=rule_name
      ---------------------
      Access granted: True
      ---------------------
        Matched rules: rule_name
    • 要测试多个 HBAC 规则:

      1. 添加第二个规则,仅允许 sysadmin 在所有主机上使用 ssh

        $ ipa hbacrule-add --hostcat=all rule2_name
        $ ipa hbacrule-add-user --users sysadmin rule2_name
        $ ipa hbacrule-add-service --hbacsvcs=sshd rule2_name
          Rule name: rule2_name
          Host category: all
          Enabled: True
          Users: admin
          HBAC Services: sshd
        -------------------------
        Number of members added 1
        -------------------------
      2. 运行以下命令来测试多个 HBAC 规则:

        $ ipa hbactest --user=sysadmin --host=server.idm.example.com --service=sudo --rules=rule_name --rules=rule2_name
        --------------------
        Access granted: True
        --------------------
          Matched rules: rule_name
          Not matched rules: rule2_name

        在输出中,Matched rules 列出了允许的成功访问的规则,而 Not matched 规则列出了阻止的访问的规则。请注意,如果您没有指定 --rules 选项,则会应用所有规则。使用 --rules 对于独立测试每个规则很有用。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部