当前位置: 首页 > article >正文

如何写一个自动化Linux脚本去进行等保测试--引言

#我的师兄喜欢给我的休闲实习生活加活,说是让我在实习期间写一个自动化脚本去进行等保测试。呵呵哒。

怎么办呢,师兄的指令得完成,师兄说让我使用Python完成任务。

设想如下:

1、将Linux指令嵌入到python脚本中

2、调试跑通

3、给指令加上节点做可视化页面

我们的测试方案就按照指导书进行,选用的还是常见服务器系统。

首先是身份鉴别,这部分写的脚本就将一些常用指令嵌入进去到python脚本中,很简单吧。

比如说

输入下面的指令,查看能登录的用户:
   grep '/bin/bash' /etc/passwd

在python中的os库中,存在这样的一个命令:

cmd = os.popen(" grep '/bin/bash' /etc/passwd").read()

(记得先import os 动下脑瓜子

popen就是打开命令栏输入括号内的东西,.read就是直接读取控制流输出,最后保存到cmd中。

这里的话,可能需要输入命令sudo下,因为可能在测评的时候不是root用户。我们需要在提示输入密码的时候程序自动输入密码。

这就需要了解下管道的知识了管道参考浅谈管道(pipe)-CSDN博客

我们需要用到shell中的管道符。简单来说,管道符就是将上一个命令的输出转换为下一个命令的输入。

这里的命令是

cmd = os.popen(" echo password | sudo -S grep '/bin/bash' /etc/passwd").read()

使用这个命令就能够实现自动输入密码啦,这里的密码明文写死password,实际用你自己的密码替换就好。

这里再拓展下,写成下面的形式:

os.system('echo %s | sudo -S %s' % (password, command))

这样等于给这个写成了小接口,让他拓展性使用强一点。

以上内容大致将核心写完了,后面就可以写成自动化的检测脚本去直通了,不过脚本还是有很多局限的,像是不同的系统,不同的环境会报出很多未知的错误,实习老师也说了没啥用,兼容性太差,实际工作的时候还是看工作情况。需要完整脚本学习的关注私聊我。

这边看到了博客介绍了许多自动化脚本,学习一下:

python自动化运维脚本(仅供参考)_设计一个自动化脚本,查看df -h 信息放到日志中-CSDN博客

感谢看到了网上的开源脚本

主机一键巡检脚本--基于python实现_python巡检百台设备完全无压力-CSDN博客


http://www.kler.cn/news/315197.html

相关文章:

  • 梧桐数据库(WuTongDB):Vectorized Query Optimizers 简介
  • 【C高级】有关shell脚本的一些练习
  • Vue Router 编程式导航全攻略:深入掌握 push, replace, go, back, forward,beforeEach 方法
  • presto操作hive数据的时候如何覆盖写数据
  • Arthas sysenv(查看JVM的环境变量)
  • Give azure openai an encyclopedia of information
  • IDEA开发HelloWorld程序
  • Docker部署Joplin Server教程
  • 【ArcGISPro】配置模块
  • docker部署Stirling-PDF
  • 计算机网络笔记002
  • 【数据结构-二维差分】力扣2536. 子矩阵元素加 1
  • 插入与冒泡排序(C++)
  • C语言6大常用标准库 -- 4.<math.h>
  • Docker学习笔记(三)存储与卷
  • Vite + Vue + TypeScript 项目搭建总结
  • OpenMV学习第一步安装IDE_2024.09.20
  • 使用API有效率地管理Dynadot域名,为域名进行隐私保护设置
  • (C++23) expected 基础使用
  • hive-拉链表
  • 代码随想录算法训练营|151.翻转字符串里的单词 、卡码网:55.右旋转字符串
  • 分布式Redis(14)哈希槽
  • 深入理解Go并发编程:避免Goroutine泄漏与错误处理
  • C++_数据封装详解
  • 综述论文“Towards Personalized Federated Learning”分享
  • 研究生第一次刷力扣day1
  • 认识结构体
  • Docker笔记-Docker Dockerfile
  • 语言模型的在线策略提炼:从自我错误中学习
  • Redis数据结构之set