命令级别与用户级别相对对应,用户只可以执行等级等于或低于自己等级的命令。华为设备默认命令级别为0~3级,用户级别为0~15级,3~15级用户为管理员级别,用户执行命令情况如下:
0级用户只可以执行0级(参观级)命令;
1级用户可以执行1级(监控级)命令和0级命令;
2级用户可以执行2级(配置级)命令及2级以下命令;
3~15级用户可以执行3级(管理级)及3级以下命令,在不改变命令级别的情况下,可以理解为3~15级用户权限相同。
为实现用户精细化管理,可以使用命令command-privilege level rearrange批量提升命令级别,再单独调整需要控制的命令。
全局下使用命令command-privilege level rearrange批量提升命令级别,对于没有单独调整过级别的命令,批量提升命令级别后,按以下原则自动调整:
①0级和1级命令保持不变;
②2级命令提升到10级,3级命令提升到15级;
③2~9级和11~14级这些命令级别中没有命令行。用户可以单独调整需要的命令行到这些级别中,以实现用户权限的精细化管理。
客户要求交换机操作用户可以精细化管理,仅能操作相关命令,例如客户要求等级为2的用户只能操作物理接口下简单配置命令,如关闭开启端口和修改端口类型等,可以执行如下操作:
1. aaa视图下创建level 2的用户:
local-user test1 privilege level 2
2. 批量提升命令级别:
全局下使用命令command-privilege level rearrange
3. 修改相关命令级别:
command-privilege level 2 view shell system-view //用户视图模式下可进入系统模式
command-privilege level 2 view system interface GigabitEthernet 0/0/1 //系统模式下可以进入相关接口,逻辑口和物理口是同一个参数,命令行粒度细化不到具体的接口,此处GigabitEthernet 0/0/1只是一个参数。该命令后的接口随便配置为本设备的任何一个物理接口或者eth-trunk接口或者vlanif接口之后,其他的任何接口(物理接口、逻辑接口)都可以进入,比如配置 GigabitEthernet 0/0/1 口,其他的物理接口、eth-trunk接口、vlanif接口、loopback接口等都可以进入;或者比如配置vlanif 1,其他的物理接口、eth-trunk接口、loopback接口等都可以进入;
command-privilege level 2 view gigabitethernet-l2 shutdown //此处注意是gigabitethernet-l2,不是gigabitethernet
command-privilege level 2 view gigabitethernet-l2 undo shutdown //华为设备默认没有undo动作,需手动添加,其他命令都需如此
command-privilege level 2 view gigabitethernet-l2 port link-type trunk
command-privilege level 2 view gigabitethernet-l2 port trunk allow-pass vlan 1 to 1 // 此处的1只是个参数,配置后其他vlan都可以放行,参数改为其他vlan也可以。
command-privilege level 2 view gigabitethernet-l2 port link-type access
command-privilege level 2 view gigabitethernet-l2 port default vlan 1 //此处的1只是个参数,配置后其他vlan都可以放行;
特别注意对于参数一样的命令有覆盖效果,但配置命令都会显示,如:
command-privilege level 1 view gigabitethernet-l2 port default vlan 1
command-privilege level 1 view gigabitethernet-l2 port default vlan 2
以上两条命令都可以执行且都显示,但作用是一样的,如果此时再执行:
undo command-privilege level 1 view gigabitethernet-l2port default vlan 2
设备较后显示的结果是
command-privilege level 1 view gigabitethernet-l2 port default vlan 1
之前执行的第二条命令已删除,表面上看是正常的,但此时该命令其实已失效,因为上一条undo命令已经恢复了port default vlan的命令级别,如果想保持修改该命令级别,需再执行一次command-privilege level 1 view gigabitethernet-l2 port default vlan 1。