分类: 系统运维
2011-10-20 09:52:26
默认情况,各个视图下的每条命令都有指定的级别,管理员也可以根据用户需要改变命令的级别,实现低级别用户可以使用部分高级别命令的需求;或者将命令的级别提高,增加设备的安全性。正常情况下,建议用户不要修改默认的命令级别或者在专业人员的指导下进行修改,以免造成操作和维护上的不便甚至给设备带来安全隐患。
修改命令级别的方法就是在系统视图下执行“command-privilege level level view view command”命令。可使用“undo command-privilege view view command”恢复默认情况。默认情况,各个视图下的每条命令都有指定的级别。命令中的参数说明如下:
level level:把后面指定的命令修改到的级别,取值范围为0~3。
view view:指定可以执行后面指定的命令的命令行视图名称,view的取值中shell表示用户视图。该参数必须是command所在的视图。
command:指定需要修改命令级别的命令。
【经验之谈】在使用command-privilege命令时,command参数必须是需要设置的命令的完整形式,即必须输入命令的所有关键字以及参数,参数只要在取值范围之内即可,对具体值没有限制。比如“tftp server-address { get | put | sget } source-filename [ destination-filename ] [ source { interface interface-type interface-number | ip source-ip-address } ]”命令的默认级别为3,现配置命令“command-privilege level 0 view shell tftp 1.1.1.1 put a.cfg”,则当级别为0的用户登录设备时,可以执行“tftp server-address put source-filename”命令(比如tftp 192.168.1.26 put syslog.txt),但不能携带destination-filename和source参数,也不能执行get和sget操作,因为前面在command-privilege命令中没有指定这些关键字和参数。
在使用“undo command-privilege”命令时,command参数可以使用省略形式,即只输入命令最前面的部分参数。比如执行“undo command-privilege view system ftp”会将系统视图下所有以ftp关键字开头的命令(如ftp server acl、ftp server enable、ftp timeout等)的级别恢复到默认级别。如果当前已经修改了“ftp server enable”和“ftp timeout”命令的级别,但只想将“ftp server enable”命令的级别恢复到默认级别,则需要使用命令“undo command-privilege view system ftp server”具体的命令格式了。
如果将某视图下的某条命令的级别修改为低于默认级别的级别,请注意要相应地修改quit命令,以及进入该视图命令的级别。比如interface和system-view命令的默认级别均为2(系统级),如果要将interface命令开放给级别为1的用户使用,则需要配置“command-privilege level 1 view shell system-view”、“command-privilege level 1 view system interface ethernet 1/1”、“command-privilege level 1 view system quit”,以便级别为1的用户登录设备后,能够进入系统视图、执行interface ethernet命令、退回用户视图。
下面的示例是将用户视图下的命令system-view的级别修改为3级。默认情况级别是2或3的用户登录设备后可以使用system-view命令,通过以下配置只有级别是3的用户才可以使用该命令进入系统视图,对设备进行配置,从而增强了设备的安全性。
[Sysname] command-privilege level 3 view shell system-view