在cmdmod模块中cmd.run、cmd.run_all、cmd.run_stdout等都可以执行shell命令,要静止某些shell命令,可以修改_run()这个函数来彻底的静止调用这个命令。

centos 7:/usr/lib/python2.7/site-packages/salt/modules/cmdmod.py文件第235行

centos 6:/usr/lib/python2.6/site-packages/salt/modules/cmdmod.py文件第235行

例如rm命令:

    '''
Do the DRY thing and only call subprocess.Popen() once
'''
#禁止rm命令
if r'rm ' in cmd:
ret = {}
ret['stdout'] = "'rm' is dangerous!!! MISSION FAILED!!!"
ret['stderr'] = ''
ret['pid'] = ''
ret['retcode'] =
return ret

if _is_valid_shell(shell) is False:

   .......

如果是修改_run()函数后就不用修改run()等其它函数了,修改文件后重启minion后生效,测试下效果。

[root@perf023 master.d]# salt '10.159.59.10' cmd.run "rm -f /tmp/123.log"
10.159.59.10:
'rm' is dangerous!!! MISSION FAILED!!!
[root@perf023 master.d]#

Saltstack限制某些shell命令执行的更多相关文章

  1. shell命令执行hive脚本(hive交互,hive的shell编程)

    Hive执行方式 Hive的hql命令执行方式有三种: 1.CLI 方式直接执行 2.作为字符串通过shell调用hive –e执行(-S开启静默,去掉"OK","Tim ...

  2. 浅析linux 下shell命令执行和守护进程

    执行shell脚本有以下几种方式 1.相对路径方式,需先cd到脚本路径下 [root@banking tmp]# cd /tmp [root@banking tmp]# ./ceshi.sh 脚本执行 ...

  3. python输出shell命令执行结果

    import os,subprocess p = subprocess.Popen("df -h", shell=True, stdout=subprocess.PIPE) out ...

  4. 【linux】linux 下 shell命令 执行结果赋值给变量【两种方式】

    方法1:[通用方法] 使用Tab键上面的反引号 例子如下: find命令 模糊查询在/apps/swapping目录下 查找 文件名中包含swapping并且以.jar结尾的文件 使用反引号 引住命令 ...

  5. Linux下shell命令执行过程简介

    Linux是如何寻找命令路径的:http://c.biancheng.net/view/5969.html Linux上命令运行的基本过程:https://blog.csdn.net/hjx5200/ ...

  6. python(6)-执行shell命令

    可以执行shell命令的相关模块和函数有: os.system os.spawn* os.popen*          --废弃 popen2.*           --废弃 commands.* ...

  7. shell脚本--php执行普通shell命令

    这里只演示一些普通的shell命令,一些需要root用户权限执行的命令,请参考:php以root权限执行shell命令 php执行shell命令,可以使用下面几个函数: string system ( ...

  8. shell重定向命令执行顺序

    重定向内容介绍 一条shell命令的执行包含三个文件描述符:标准输入(键盘等) stdin 0,标准正确输出(屏幕等) stdout 1,标准错误输出(屏幕等)stderr 2   通过重定向可以指定 ...

  9. Java远程执行Shell命令

    1. Jar包:ganymed-ssh2-build210.jar 2. 步骤: a) 连接: Connection conn = new Connection(ipAddr); conn.conne ...

随机推荐

  1. Python应用之-修改通讯录

    #-*- coding:utf-8 -*- import sqlite3 #打开本地数据库用于存储用户信息 conn = sqlite3.connect('mysql_person.db') #在该数 ...

  2. Java 第十次作业

    题目1:计算通过中介买房的过程,需交纳的中介费和契税. 代码 /** Business接口中: 两个成员变量RATIO,TAX分别代表房屋中介收取的中介费用占房屋标价的比例及购房需要交纳的契税费用占房 ...

  3. jedis的连接池

    1.需要先打开虚拟机,并开启Linux系统的端口号:6379: 其中,第一行代码为修改字符编码格式,解决SSH中文乱码问题. 2.开启redis: 3.利用连接池实现数据的存取: (1)代码实现: i ...

  4. Binding a Xamarin.Forms WebView to ReactiveUI View Model using Custom Type Converters

    引用:https://jamilgeor.com/binding-a-xamarin-forms-webview-to-reactiveui-view-model-using-custom-type- ...

  5. 15-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,调节LED亮度,上位机程序编写

    https://www.cnblogs.com/yangfengwu/p/11104167.html 先说一下整体思路哈.. 咱滑动的时候 会进入这个,然后咱呢不直接从这个里面写发送 因为这样的话太快 ...

  6. Phalcon框架的编译安装 内存不足的解决办法

    对症解决 有两种解决方法,一种是提升ECS系统内存.但是却要真金白银跟阿里云去购买的.另一种,则是手动创建swap交换文件.下面来介绍第二种方法. 第一步:首先确定系统是否已经开启swap交换分区: ...

  7. codevs 2780 ZZWYYQWZHZ

    2780 ZZWYYQWZHZ  时间限制: 1 s  空间限制: 32000 KB  题目等级: 青铜 Bronze       题目描述 Description 可爱的小管在玩吹泡泡.忽然,他想到 ...

  8. PDE工具箱的简单使用

    转载自Here matlab的PDE工具箱的简单使用 问题选择 边界条件选择 菜单按钮和简单使用 命令行输入pdetool,打开GUI编辑界面如下: 注意到工具栏上,就是我们要用到的,从左到右依次使用 ...

  9. kafka-python 1.4.6 版本触发的一个 rebalance 问题

    在使用了最新版的 kafka-python 1.4.6 在 broker 对 topic 进行默认配置的情况下报出类似错误 CommitFailedError CommitFailedError: C ...

  10. 树莓派基于scratch2控制GPIO

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/raspberry_scratch2_gpio_control.m ...