salt cmd.run 禁用命令

G8bao7發表於2016-11-01


> vim salt/utils/args.py
# ++ 
def valid_cmd_arg(args):
    '''
    Valid cmd arg 
    '''
   # 禁用包含的命令,可自定義
    ilLegCmds = ['init', 'shutdown']
    for arg in args:
        shell_cmd = arg.lower()
        for cmd_one in shell_cmd.split(";"):
            if ilLegCmds.count(cmd_one) > 0 :
                return False
            else:
                for ilLegCmd in ilLegCmds:
                    if re.search(ilLegCmd, cmd_one):
                        return False
                '''
                for cmd_one_param in cmd_one.split():
                    if ilLegCmds.count(cmd_one_param) > 0 \ 
                         or ilLegCmds.count(cmd_one_param.strip('"')) > 0 \  
                         or ilLegCmds.count(cmd_one_param.strip("'")) > 0:
                        return False
                '''
            
    return True
# end 


> vim salt/client/__init__.py
def run_job(){
# ++  函式入口處新增
    if not salt.utils.args.valid_cmd_arg(arg):
        raise SaltClientError(" Dangerous cmd '%s'" % (arg))
    # end 
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26250550/viewspace-2127461/,如需轉載,請註明出處,否則將追究法律責任。

相關文章