星期四, 11月 02, 2023

2002-12-09 如何限制使用 PWRDWNSYS 關機指令, 防止不小心執行關機動作?


如何限制使用 PWRDWNSYS 關機指令, 防止不小心執行關機動作?

PWRDWNSYS 關機指令的系統預設權限如下:

                             Edit Object Authority                             
                                                                               
 Object . . . . . . . :   PWRDWNSYS       Owner  . . . . . . . :   QSYS        
   Library  . . . . . :     QSYS          Primary group  . . . :   *NONE       
 Object type  . . . . :   *CMD            ASP device . . . . . :   *SYSBAS     
                                                                               
 Type changes to current authorities, press Enter.                             
                                                                               
   Object secured by authorization list  . . . . . . . . . . . .   *NONE       
                                                                               
                          Object                                               
 User        Group       Authority                                             
 QSYS                    *ALL                                                  
 QSYSOPR                 *USE                                                  
 *PUBLIC                 *EXCLUDE                                              
由上述畫面可知 QSYSOPR 有使用權限, 但公共權限為 *EXCLUDE 亦即非指定使用者是無
法使用的, 所以此 PWRDWNSYS 的使用權限需要針對單一使用者個別授權才能使用, 你可
以使用 EDTOBJAUT 指令授權某些人可以使用, 但仍然會有被授權使用者使用者不小心下
了 PWRDWNSYS 指令, 如輸入 PWRDWNSYS 直接按 Enter 執行鍵或按 F4 鍵欲檢視 PWRDWNSYS 
指令的參數, 欲取消參數畫面需按 F3 或 F12 鍵, 有可能疏忽而按了 Enter 執行鍵, 
此指令一執行是無法取消的,所以要非常謹慎, 所以系統也提供一個程序檢核點(Exit Point) QIBM_QWC_PWRDWNSYS,
作為在關機前的準備動作檢查, 每個應用系統有可能需要在關機前作某些清除動作, 讓應
用系統能正常終止, 以防止下次開機時無法啟動, 所以系統提供此程序檢核點(Exit Point) 
QIBM_QWC_PWRDWNSYS, 讓系統管理人員能進一步確認整個關機的步驟, 我們可以利用此程序檢核點(Exit Point) QIBM_QWC_PWRDWNSYS,
連結程序檢核程式(Exit Program), 來作為是否執行關機動作的再次確認. 
此範例程式是將關機訊息送至 QSYSOPR 訊息佇列, 若 QSYSOPR 回應 'G' or 'g' 時, 
系統執行關機動作, 若回應其他訊息, 則系統不會執行此關機動作, 但此訊息會一直留在
QSYSOPR 訊息佇列等待回應正確的回應值 'G', 你可以在 DSPMSG QSYSOPR 畫面按 F11 
清除此訊息. 此種方式是系統管理上需要防止不正常關機的最佳方式.



File  : QCLSRC
Member: PWRDWNSYSC
Type  : CLP
Version : V5R1  以後(因 V5R1 才提供 程序檢核點(Exit Point) QIBM_QWC_PWRDWNSYS)
Usage : CRTCLPGM PWRDWNSYS


PGM                                                                    
DCL        VAR(&REPLY) TYPE(*CHAR) LEN(1)                              
SNDUSRMSG  MSGID(CPF9898) MSGF(QCPFMSG) +                              
             MSGDTA('PWRDWNSYS will be processed as +                  
             soon as you respond to this message.  +                   
             Enter G to continue.') VALUES('G') +                      
             TOUSR(QSYSOPR) MSGRPY(&REPLY)                             
ENDPGM                                                                 

設定方式 :
ADDEXITPGM EXITPNT(QIBM_QWC_PWRDWNSYS) FORMAT(PWRD0100) PGMNBR(1)
           PGM(your-library-name/PWRDWNSYSC)    */   



沒有留言: