雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1536|回复: 2

[讨论/求助] 通过CLI管理网络设备并设定访问权限(一)

[复制链接]
发表于 2014-8-18 08:34:17 | 显示全部楼层 |阅读模式
本帖最后由 victor_huang 于 2014-8-18 08:37 编辑

Cisco IOS软件CLI有2个访问级别
用户模式(特权级别1):提供最低的用户执行模式,在router>提示符下仅提供用户级别命令
特权模式(特权级别15):在router#提示符下包括所有enable级别命令
默认情况下,一个命令只能处于一个命令集里面,也就是说,比如分配了某个命令到等级5,那么权限等级低于等级5的用户将无法使用这个命令。但是高等级可以使用低等级所拥有的命令。
有2种方法为不同级别配置密码:
特权级别:enable secret level level password
特定级别用户:username name privilege level secret password
下面通过实验来验证和基于等级的命令分配。



步骤1:配置R1和R2的接口IP地址


R1(config)#int fa0/0
R1(config-if)#ip address 12.1.1.1 255.255.255.0


R2(config)#int fa0/0
R2(config-if)#ip address 12.1.1.2 255.255.255.0


步骤2:在R1配置用户数据库,并开启远程管理

R1(config)#username user1 password user1password
R1(config)#username user5 privilege 5 password user5password

R1(config)#username admin privilege 15 password adminpassword


R1(config)#line vty 0 4
R1(config-line)#login local


关于开启设备允许被telnet的一点细节:
line进程下,如果配置login,表示打开验证,也就是如果通过远程管理是需要输入密码的。
如果配置no login,表示登陆的时候不经过验证,那么就直接登陆到设备上。
如果配置login local ,表示登陆的时候需要通过本地数据进行验证和登陆。没有local关键词,则使用line下配置的密码登陆。
为了验证效果,可以尝试这么配置
line vty 0 4
privilege level 15    //当从VTY登陆,则赋权为15级,但是如果使用login local,则不生效。
password cisco
login local

步骤3:在R2上进行登陆测试。

测试user1
R2#telnet 12.1.1.1
Trying 12.1.1.1 ... Open
User Access Verification
Username: user1
Password: user1password  (密码输入不显示)
R1>
R1>show privilege
Current privilege level is 1

测试user5
R2#telnet 12.1.1.1
Trying 12.1.1.1 ... Open
User Access Verification
Username: user5
Password: user5password
R1#show privilege     注意这里的提示符已经是 # 模式
Current privilege level is 5


测试admin用户
R2#telnet 12.1.1.1
Trying 12.1.1.1 ... Open
User Access Verification
Username: admin
Password: adminpassword
R1#show privilege
Current privilege level is 15


步骤4:测试对应等级的命令使用状况

依enable , configure terminal , interface命令为例
测试user1
R2#telnet 12.1.1.1
Trying 12.1.1.1 ... Open
User Access Verification
Username: user1
Password:

R1>enable
% No password set  
默认情况下,直接输入enable并回车,是尝试进入15级。 可以看出,要进入特权模式,是需要密码的,但是密码没配置,所以无法进入。那么关于其他命令更没办法输入了。
稍后讲解关于enable 密码进行等级转换的实验。

测试user5
R2#telnet 12.1.1.1
Trying 12.1.1.1 ... Open
User Access Verification
Username: user5
Password:
R1#enable
% No password set
R1#
R1#config?
% Unrecognized command  
可以看出5级用户进入后,其模式是#模式,但是并不是15级,输入enable,就是尝试将5级转换到15级,但是依旧因为密码问题无法进入15级。
输入config? 显示在此等级下是没有configure 这个命令的,那么配置interface就无望了。

测试admin
R2#telnet 12.1.1.1
Trying 12.1.1.1 ... Open


User Access Verification

Username: admin
Password:
R1#show privilege
Current privilege level is 15
R1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#interface fastEthernet 0/1
可以看出15级是可以配置任何命令的

步骤5:将configure terminal和interface命令划分到 level 5 。

多关键词命令分配给特定用户,会将第一个关键词相关的命令都分配给相同级别,
比如configure terminal划分到 levle 5,那么configure 也要划分给level 5.
那么。如果先配置让1级的用户可以show ip interface brief , 后配置让5级的用户可以show ip ospf neighbor ,那么show这个关键词,就划分给5级了,1级就不能使用了。【一个命令只能处于一个命令集里面
使用基于角色的CLI访问就可以解决这个问题,后续会在博客写出。


将configure  terminal和interface命令划分给level 5
privilege exec level 5 configure     //将exec模式下的configure命令划分到level 5
privilege exec level 5 configure terminal   //将exec模式下的configure terminal 划分到level 5

privilege configure level 5 interface  //将configure模式下的interface 划分到level 5




步骤6:测试user5的权限

R2#telnet 12.1.1.1
Trying 12.1.1.1 ... Open
User Access Verification
Username: user5
Password: user5password

R1#show privilege
Current privilege level is 5

R1#configure terminal    //可以使用configure terminal 了
Enter configuration commands, one per line.  End with CNTL/Z.

R1(config)#interface fastEthernet 0/0  //可以进入interface fastEthernet 0/0
R1(config-if)#ip addr?
% Unrecognized command
R1(config-if)#?          //查看接口模式下可以使用的命令,发现不能配置IP地址
Interface configuration commands:
  default  Set a command to its defaults
  exit     Exit from interface configuration mode
  help     Description of the interactive help system
  no       Negate a command or set its defaults

interface下的命令子集是不能使用的,可以使用下面的命令进行配置,使得user5拥有interface下所有的命令使用权。
privilege configure all level 5 interface   
//将configure模式下interface 及interface下的子集(all关键词)划分到 level 5
再次测试
R1(config-if)#ip address ?
  A.B.C.D  IP address
  dhcp     IP Address negotiated via DHCP
  pool     IP Address autoconfigured from a local DHCP pool

以上是关于使用基于用户和权限的设备管理,那么这条命令
enable secret level level password  是对enable对应的等级配置密码
比如需要从当前1级进入5级,可以输入enable 5 ,如果配置了enabel 5的密码,那么输入正确的密码后就可以拥有相应的权限了。
以等级1的用户user1为例
R1上配置如下
R1(config)#enable secret level 5 enable5password

       从R2测试


R2#telnet 12.1.1.1
Trying 12.1.1.1 ... Open
User Access Verification

Username: user1
Password: user1password
R1>show privilege
Current privilege level is 1
R1>enable 5
Password: enable5password
R1#show privilege
Current privilege level is 5
R1#conf terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#interface fastEthernet 0/0
R1(config-if)#ip address ?
  A.B.C.D  IP address
  dhcp     IP Address negotiated via DHCP
  pool     IP Address autoconfigured from a local DHCP pool
可以看到user1现在处于的等级是5,并且可以使用5级的命令。


===================================================
新浪博客: http://blog.sina.com.cn/routerospf1
新浪微博: http://weibo.com/u/2466447230












本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发表于 2014-8-18 11:03:38 | 显示全部楼层
学习了
回复

使用道具 举报

发表于 2017-4-19 10:14:39 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-3-29 15:20 , Processed in 0.077779 second(s), 19 queries , Gzip On.

快速回复 返回顶部 返回列表