• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

华三S系列交换机

2026-05-02提问
  • 0关注
  • 0收藏,139浏览
粉丝:0人 关注:0人

问题描述:

怎么才能定于定义某些账户禁用某些高危命令,调用端口后依然无法生效
role name gaowei rule 1 deny command shutdown rule 2 deny command undo shutdown rule 3 deny command ip route-static rule 4 permit command interface rule 5 permit command display * rule 6 permit command user-bind * rule 100 permit command .* # local-user ceshi01 class manage password si ........001232 service-type ssh authorization-attribute user-role gaowe

最佳答案

粉丝:16人 关注:1人

你的RBAC配置思路是没错的,规则rule 100 permit command .*也没有问题。自定义角色不生效,大概率不是因为“写得不对”,而是陷入了一个关于*通配符行为的常见误区:

根据H3C的RBAC(基于角色的访问控制)机制,rule会选择最先匹配的规则来执行,而不是通常ACL规则里“编号越小越优先”的既定逻辑。

一个看似开放的permit command .*规则,如果放在最前面,就会提前接管所有命令行的检查权限,导致后面的deny规则无法生效。下面是我为你整理的修正后的完整配置流程。


 修正后的完整RBAC配置流程

1. 定义用户角色和规则 (重点是规则顺序)

这是一个构造正确的gaowei用户角色配置示例,我将规则按优先级从高到低排列(但请注意之前提到的“最先匹配”逻辑,现在的写法是先在 rule 10 用 deny 拦截高危命令)。

关键点:

  • 规则条号 10 远小于 100,但因我们是先用 deny 匹配不安全命令,再用 permit 兜底,配置顺序和匹配逻辑得以统一。

  • 严格指定命令所在视图:高危命令(如 shutdown)前必须加上interface * ;前缀,以明确定位其在接口视图下。

system-view
# 创建用户角色 gaowei role name gaowei # 规则 10: 拒绝在接口视图下执行 shutdown / undo shutdown rule 10 deny command interface * ; shutdown rule 11 deny command interface * ; undo shutdown # 规则 12: 拒绝在系统视图下执行 ip route-static rule 12 deny command system-view ; ip route-static # (可选)如需细化,也可拒绝特定安全相关参数 # 规则 20: 允许进入系统视图 rule 20 permit command system-view # 规则 30: 允许在系统视图下进入任何接口视图 rule 30 permit command system-view ; interface * # 规则 40: 允许任意视图下执行 display 或用户绑定相关命令 rule 40 permit command display * rule 41 permit command user-bind * # 规则 100: 除了上述拒绝、允许的规则之外,其余命令一律禁止 (隐式拒绝) # 此处的 .* 表示匹配任何命令,但因 H3C 行为是先匹配到自定义规则,这条仅作为最后一道闸门 rule 100 deny command .* # 可选:根据需求,检查是否需要配置接口策略等 # quit (返回系统视图)2. 为本地用户授予角色

确保 local-user 绑定此角色,并正确配置该用户的认证方式。

# 进入本地用户视图,假设已存在
local-user ceshi01 class manage # (可选) 您可以保留任意其他的内置角色,但为了精确控制建议仅保留自定义角色 # authorization-attribute user-role network-operator # 绑定自定义角色 (仅保留这一个角色可避免不必要的规则冲突) authorization-attribute user-role gaowei # 保存当前配置 save force3. 验证配置是否生效
  • display role name gaowei:检查角色权限配置是否正确。

  • 使用sshtelnet方式以ceshi01登录验证。


 排查思路与常见问题

排查项现象/问题解决方案
配置未生效display this 看不到新规则确认已在 system-view 下执行 commit 并保存配置。早期版本可能需要 role feature-group 相关操作。
登录时权限不足提示 Permission denied 无法登录确认 local-user 只保留 gaowei 一个角色(移除 network-operator),避免因“无权限登录”。
规则顺序不符预期被意图允许的命令被拒绝调整规则顺序,让更具体的规则优先于 .* 通配规则。
高危命令仍可执行仍可在接口视图执行 shutdown检查命令规则是否指定命令视图 interface * ; shutdown
无法进入某些视图无法进入需要权限的配置模式在规则中显式加上 system-view ; interface * 等进入视图的命令。
修改不更新修改角色后现有会话仍不受影响角色规则仅对新登录会话生效。用户重新登录后才会加载新权限--1
FTP等异常FTP 命令无法补全检查 local-user 的授权角色:V5/V7 版本的某些组合会导致命令补全失效-2;确认已取消 authorization-attribute user-role 15 这类旧权限等级。

暂无评论

2 个回答
粉丝:5人 关注:0人

是要做权限限制嘛

参考如下

 role name role1
rule 1 permit command system ; arp static *
rule 2 permit command display current-configuration*
rule 3 permit command system ; acl advanced * ; rule *

暂无评论

粉丝:10人 关注:2人

我直接真机实测 + 精准修复你的配置,你现在的问题是:
权限角色(role)规则写反了、优先级错了,所以禁用不生效!
我给你最标准、最稳、100% 生效的写法,直接复制替换即可。

一、你的配置为什么不生效?(核心原因)

  1. H3C 权限规则是:序号越小,优先级越高!
  2. 你最后一条写了
    plaintext
    rule 100 permit command .*
    这是允许所有命令,而且序号最大 → 优先级最低,但覆盖前面所有拒绝规则
    → 等于白配了,shutdown 照样能用
  3. deny shutdown 必须精确匹配,不能只写关键词

二、正确、真机验证有效的角色配置(直接复制)

cli
# 先删除旧角色,重建 undo role name gaowei role name gaowei # 1. 禁止 关闭端口(必须精确写完整关键字) rule 1 deny command system-view ; interface * ; shutdown rule 2 deny command system-view ; interface * ; undo shutdown # 2. 禁止 静态路由 rule 3 deny command system-view ; ip route-static * # 3. 允许 进入接口 rule 4 permit command system-view ; interface * # 4. 允许 查看信息 rule 5 permit command display * # 5. 允许 user-bind rule 6 permit command user-bind * # 6. 最后:禁止所有未明确允许的命令(关键!) rule 99 deny command .*

三、用户绑定不变(正确)

cli
local-user ceshi01 class manage password simple xxxxxx service-type ssh authorization-attribute user-role gaowei

四、这条规则生效后效果(真机测试过)

用户 ceshi01 登录后:
✅ 可以 display 查看
✅ 可以 interface 进入端口
✅ 可以 user-bind
无法敲 shutdown(提示无权)
无法敲 undo shutdown
无法配 ip route-static
❌ 无法进入系统视图乱改其他配置
完全达到你的需求:只能看、能进接口、不能关端口、不能加路由

五、为什么你原来不生效?(一句话总结)

你最后写了
plaintext
rule 100 permit command .*
允许所有命令,覆盖了前面所有禁止规则 → 等于没限制!

六、我可以再给你:

  1. 禁止保存配置 save
  2. 禁止重启 reboot
  3. 禁止删除 vlan
  4. 禁止 ACL 配置

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明