報文信息
認證時授權(quán):
2017/05/15 11:18:35 [192.168.6.87:14404] Author Start, user: zyuc port: tty66 remAddr: 192.168.6.150 Args: [service=shell cmd*]命令授權(quán):
2017/05/15 11:18:43 [192.168.6.87:20404] Author Start, user: zyuc port: tty66 remAddr: 192.168.6.150 Args: [service=shell cmd=show cmd-arg=running-config cmd-arg=interface cmd-arg=Loopback cmd-arg=0 cmd-arg=<cr>]
授權(quán)流程
- do_author 默認授權(quán)狀態(tài)AUTHOR_STATUS_FAIL,參數(shù)個數(shù)為0突琳,參數(shù)為空
- cfg_user_exists 判斷用戶或者默認用戶(DEFAULT)是否存在若债,不存在授權(quán)失敗。cfg_no_user_permitted 如果不存在但默認授權(quán)放開則授權(quán)成功拆融,但是返回參數(shù)為空蠢琳。
- cfg_user_exists 報文中用戶不存在,但是默認用戶存在镜豹,使用默認用戶替換報文用戶傲须。
- pre_authorization 判斷授權(quán)前是否有需要執(zhí)行的命令,返回授權(quán)結(jié)果趟脂,貌似只有facebook有這個流程 See if there's a program defined which will do authorization for us
- get_nas_svc 判斷授權(quán)服務(wù)協(xié)議方式泰讽,協(xié)議方式未知返回AUTHOR_STATUS_ERROR
- 參數(shù)中包含service=shell,且參數(shù)中包含cmd昔期,cmd在參數(shù)中開頭而且小于等于4位(cmd*)協(xié)議為N_svc_exec已卸,否則協(xié)議類型為N_svc_cmd,并返回cmdname( cmd=show)
- 包含service=slip硼一,返回N_svc_slip
- 包含service=arap 累澡,返回N_svc_arap
- 包含service=ppp,在判斷參數(shù)protocol=xxx,獲取協(xié)議為xxx般贼,返回N_svc_ppp
- 包含service=xxx, 獲取協(xié)議xxx, 返回N_svc
- 設(shè)備最大連接數(shù)(MAXSESS)定義了愧哟,判斷是否超過最大連接數(shù),超過了返回授權(quán)失敗哼蛆。
- 根據(jù)不同的服務(wù)協(xié)議類型進入不同的授權(quán)流程蕊梧。
N_svc_exec(場景:認證時授權(quán))
后續(xù)補充
N_svc_cmd(場景:命令授權(quán))
后續(xù)補充