返回顶部
首页 > 资讯 > 后端开发 > Python >python关于it审计中的应用
  • 159
分享到

python关于it审计中的应用

python 2023-01-31 02:01:49 159人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

公司面临上市,为了满足上市it审计要求,对系统密码进行定制。#!/bin/env python import random,string import os,sys,re,paramiko from optparse import Opti

公司面临上市,为了满足上市it审计要求,对系统密码进行定制。

#!/bin/env python
import random,string
import os,sys,re,paramiko
from optparse import OptionParser
def pssh(host,cmd):
         user = 'root'
         s = paramiko.SSHClient()
         s.load_system_host_keys()
         s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
         s.connect(host,22,user,passWord='test',timeout=5)
         #cmd="ip a | grep inet | grep 192.168  | grep brd | awk -F/22 '{print $1}'|awk '{print $2}'"
         stdin,stdout,stderr = s.exec_command(cmd)
         cmd_result = stdout.read(),stderr.read()
         for line in cmd_result:
                         return line.strip("\n")
         s.close()
#print pssh('192.168.3.52','ls /root')
def kssh(host,cmd):
         user = 'root'
         s = paramiko.SSHClient()
         s.load_system_host_keys()
         s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
         privatekeyfile = os.path.expanduser('~/.ssh/id_rsa')
         mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)
         # mykey=paramiko.DSSKey.from_private_key_file(privatekeyfile,password='061128')   
         s.connect(host,22,user,pkey=mykey,timeout=5)
         #cmd=raw_input('cwd:')
         #cmd="ip a | grep inet | grep 192.168  | grep brd | awk -F/22 '{print $1}'|awk '{print $2}'"
         stdin,stdout,stderr = s.exec_command(cmd)
         cmd_result = stdout.read(),stderr.read()
         for line in cmd_result:
                         return line.strip("\n")
         s.close()

def cmdreturn(ip,cmd):
        try:
                return kssh(ip,cmd)
        except paramiko.AuthenticationException:
                try:
                        return pssh(ip,cmd)
                except paramiko.AuthenticationException:
                        return str(ip) + " passwd and key is fault"

pwfile=open('/share/pwfile','w')
ipsfile=open('/share/ipsfile','r')

def chpwd(ip):
        ostr=['_','%','@','!','-','=','+','$']
        chars=string.ascii_letters+string.digits
        xstr=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
        dstr=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
        passwd=''.join([random.choice(''.join(xstr))])+ ''.join([random.choice(''.join(dstr))])+''.join([random.choice(string.digits)])+''.join([random.choice(''.join(ostr))+''.join([random.choice(chars) for i in range(12)])])
#       passwd=random.choice(ostr)+''.join([random.choice(chars) for i in  range(15)])+str(random.randint(0, 9))
        chcmd="echo 'root:"+passwd+"' | chpasswd"
        cmdreturn(ip,chcmd)
        pwfile.write(str(ip).strip() + "      "+str(passwd))
        return str(ip).strip() + "      "+str(passwd)
#       return chcmd+"\n"+str(ip).strip() + "   "+str(passwd)

#echo "$i $passwd"
#ssh root@$i "echo 'root:$passwd' | chpasswd"
for ip in ipsfile:
        print chpwd(ip)

系统文件更改:

sed -i.orig 's,(password requisite pam_cracklib.so ).*,\1try_first_pass retry=3 minlen=16 dcredit=-1 ocredit=-1 lcredit=-1 ucredit=-1' /etc/pam.d/system-auth
sed -ri.orig 's,(PASS_MAX_DAYS).*,\1   90,g' /etc/login.defs
sed -ri 's,(PASS_MIN_LEN).*,\1    16,g' /etc/login.defs


#####rollback
#cp /etc/pam.d/system-auth.orig /etc/pam.d/system-auth
#cp /etc/login.defs.orig /etc/login.defs

--结束END--

本文标题: python关于it审计中的应用

本文链接: https://lsjlt.com/news/185747.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python关于it审计中的应用
    公司面临上市,为了满足上市it审计要求,对系统密码进行定制。#!/bin/env python import random,string import os,sys,re,paramiko from optparse import Opti...
    99+
    2023-01-31
    python
  • pandas中关于apply+lambda的应用
    apply(func [, args [, kwargs ]]) 函数用于当函数参数已经存在于一个元组或字典中时,间接地调用函数。args是一个包含将要提供给函数的按位置传递的参数的...
    99+
    2024-04-02
  • python中关于xmltodict的使用
    目录python中xmltodict使用xml转换成OrderedDictdict转换成xmlxmltodict模块处理xml数据基本用法1. parse2. unparse总结py...
    99+
    2023-03-14
    python xmltodict python xmltodict使用 python使用xmltodict
  • 关于python中的setup.py
    目录1. 为什么需要对项目分发打包2. 包分发的始祖:distutils3. 分发工具升级:setuptools4. easy_install 使用指南5. 源码包与二进制包什么区别...
    99+
    2024-04-02
  • 关于OSCache的应用(三)
    在实际应用中除了JSP标签库,还可以使用OSCache提供的Java API .下面我来介绍一个实用的Java类 [@more@]在实际应用中除了JSP标签库,还可以使用OSCache提供的Java API .下面我来介绍一个实用的Java...
    99+
    2023-06-03
  • 关于Python中Math库的使用
    目录Math 库概述第一种: import math 对 math 库中函数采用 math.<b>() 形式使用第二种: from math import <函数名...
    99+
    2023-05-15
    Python math math库
  • 关于Python中jieba库的使用
    目录jieba库概述jieba 库演示在 PyCharm 中添加 jieba 库使用jieba 库第三方库jieba库概述 jieba 库演示 对于一段英文文本, 例如 &ldquo...
    99+
    2023-05-15
    Python jieba jieba库
  • Android中关于JSON相关应用分析
    本文分析了Android中关于JSON相关应用。分享给大家供大家参考,具体如下: JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为...
    99+
    2022-06-06
    JSON Android
  • 关于python中的IO流
    只要有IO,那么就会发生IOError。所以尽量每次都要使用try...finally#!/usr/bin/env python #-*-coding:utf-8-*- try: f=open("test2.py","r") print...
    99+
    2023-01-31
    python IO
  • 关于python中的self,ins ,
    关于python中的self,ins,cls的解释参考下面两篇博文首先是self: (参考http://www.cnblogs.com/linuxcat/archive/2012/01/05/2220997.html)self比较好理解,s...
    99+
    2023-01-31
    python ins
  • 关于Python下的Matlab函数对应关系(Numpy)
    目录Matlab函数对应关系(Numpy)Numpy与Matlab互转操作1、常用操作(参考numpy官方说明)2、线性变换(参考numpy官方说明)Matlab函数对应关系(Num...
    99+
    2024-04-02
  • AJPFX关于多态的应用
    要求设计一个方法,要求此方法可以接受A类的任意子类对象,并调用方法,此时,如果不使用对象多态性,那代码肯定会类似如下class A{            &n...
    99+
    2023-06-02
  • 关于python中map函数的使用
    1. 概念 map函数也是python中的一个内置函数,用法同之前讲过的filter函数类似。map在这里的意思是映射的意思,会根据提供的函数对指定序列做映射。 map函数会返回一个...
    99+
    2023-05-16
    python map python map函数
  • Python中关于set的基本用法
    目录1. set 的基本内容1.基本特点2.set() 实质2. set 的基本方法2.1 set 的普通基本方法2.2 set 的逻辑基本方法总结1. set 的基本内容 1.基本...
    99+
    2023-05-17
    Python中set set的基本用法 Python set的用法
  • 关于python中.xpath的使用问题
    在python中使用xpath定位时,有时候会先用.xpath定位到一个地点,for循环后,继续使用.xpath,但是会出现问题,比如在下面这个例子中:    根...
    99+
    2024-04-02
  • python关于return的用法
    在我们看来return就是返回值得意思,但是就我而言 我觉得自己太粗心大意了, return是返回一个方法的值,如果你没有定义一个方法却用return 去返回这就大错特错了 官方文档中提示: The key word "return" w...
    99+
    2023-01-31
    python return
  • 关于python爬虫应用urllib库作用分析
    目录一、urllib库是什么?二、urllib库的使用urllib.request模块urllib.parse模块利用try-except,进行超时处理status状态码 &...
    99+
    2024-04-02
  • 关于Python中interval的处理
          最近在对几个取值范围做处理时发现很麻烦,需要判断左右,需要判断开闭合,料想强大的Python一定有人准备好了这样的轮子。搜了一下,果不其然,找到了pyinterval这个包。满心欢喜以为找到正解,发现这个模块过于简单(可能是我...
    99+
    2023-01-31
    Python interval
  • Python中关于property使用的小技巧
    目录property属性具体实例property属性的有两种方式装饰器方式旧式类新式类类属性方式property对象与@property装饰器对比property对象类属性@prop...
    99+
    2024-04-02
  • python中关于CIFAR10数据集的使用
    目录关于CIFAR10数据集的使用CIFAR10的官方解释实战操作CIFAR-10 数据集简介数据集版本数据集布置总结关于CIFAR10数据集的使用 主要解决了如何把数据集与tran...
    99+
    2023-02-01
    python CIFAR10数据集 CIFAR10数据集的使用 CIFAR10数据集
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作