saltstack安装:略过

python脚本修改密码:

 # -*- coding utf-8 -*-
import socket
import re
import os
import sys
import crypt localIP = socket.gethostbyname(socket.gethostname()) def password():
localIP = socket.gethostbyname(socket.gethostname()) #获取本地ip
a = re.split('[.]', localIP) #切割ip地址并生成列表
addr = a[3]
ps = "Subuy2017@"+addr
return ps new_passwd = crypt.crypt(password(),"ab") #将生成的密码加密
change_passwd = "usermod -p %s test" %(new_passwd) #采用usermod方式修改密码,必须使用密文密码来修改
os.system(change_passwd)
print("Congratulation!,password for %s is %s " %(localIP,password()))
sys.exit()

结合以上脚本配合saltstack 命令来批量修改服务器密码:

 [root@testd files]# salt -N 'test' state.highstate
rac2:
----------
ID: file
Function: file.managed
Name: /usr/local/shell/change_passwd.py
Result: True
Comment: File /usr/local/shell/change_passwd.py updated
Started: 10:57:38.489545
Duration: 568.87 ms
Changes:
----------
diff:
---
+++
@@ -17,7 +17,7 @@
return ps new_passwd = crypt.crypt(password(),"ab")
-change_passwd = "usermod -p %s test" %(new_passwd)
+change_passwd = "usermod -p %s root" %(new_passwd)
os.system(change_passwd)
print("Congratulation!,password for %s is %s " %(localIP,password()))
sys.exit()
----------
ID: pkg_install
Function: cmd.run
Name: python /usr/local/shell/change_passwd.py
Result: True
Comment: Command "python /usr/local/shell/change_passwd.py" run
Started: 10:57:39.059976
Duration: 114.552 ms
Changes:
----------
pid:
19860
retcode:
0
stderr:
stdout:
Congratulation!,password for IP地址 is Subuy2017@162 Summary
------------
Succeeded: 2 (changed=2)
Failed: 0
------------
Total states run: 2
rac1:
----------
ID: file
Function: file.managed
Name: /usr/local/shell/change_passwd.py
Result: True
Comment: File /usr/local/shell/change_passwd.py updated
Started: 10:57:39.149359
Duration: 598.117 ms
Changes:
----------
diff:
---
+++
@@ -17,7 +17,7 @@
return ps new_passwd = crypt.crypt(password(),"ab")
-change_passwd = "usermod -p %s test" %(new_passwd)
+change_passwd = "usermod -p %s root" %(new_passwd)
os.system(change_passwd)
print("Congratulation!,password for %s is %s " %(localIP,password()))
sys.exit()
----------
ID: pkg_install
Function: cmd.run
Name: python /usr/local/shell/change_passwd.py
Result: True
Comment: Command "python /usr/local/shell/change_passwd.py" run
Started: 10:57:39.749030
Duration: 109.626 ms
Changes:
----------
pid:
720
retcode:
0
stderr:
stdout:
Congratulation!,password for IP地址 is Subuy2017@161 Summary
------------
Succeeded: 2 (changed=2)
Failed: 0
------------
Total states run: 2

saltstack+python批量修改服务器密码的更多相关文章

  1. Ansible playbook 批量修改服务器密码 先普通后root用户

    fsckzy   Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...

  2. Python脚本批量修改服务器密码

    搭建环境 centos 7.4 使用脚本 python 批量修改connect用户的密码 生成密码为随机密码 保存为xls文档   passwd_chang #!/usr/bin/env python ...

  3. Python自动批量修改服务器密码

    工作中,我们经常会定期更换服务器密码,如果手动去修改,不仅费时,而且容易出错.下面提供了一种思路,可以实现批量.自动修改服务器密码. 大致思路:首先,为每一台服务器设定一个唯一标识:其次,将每台服务器 ...

  4. python实现批量修改服务器密码

    需求:机房.线上有多台主机,为了保障安全,需要定期修改密码.若手动修改,费时费力易出错. 程序应该满足如下需求 : 1.在现有的excel密码表格,在最后一个字段后面生成新的密码,另存为一个新的exc ...

  5. python批量修改ssh密码

    由于工作需要本文主结合了excel表格,对表格中的ssh密码进行批量修改 以下是详细代码(python3): #!/usr/bin/env python#-*-coding:utf-8-*- impo ...

  6. ansible批量修改服务器密码

    看了一下网上代码大多数是ansible-playbook实现的,需要写一个脚本,或者手动传递变量进去. 以前用python tcp模块写过客户端主动上报修改密码脚本 今天写一个ansible主控客户端 ...

  7. Python 批量修改root密码

    #_*_coding:utf8_*_ from multiprocessing import Process, Pool import paramiko import sys,os host_list ...

  8. python批量修改linux主机密码

    +++++++++++++++++++++++++++++++++++++++++++标题:python批量修改Linux服务器密码时间:2019年2月24日内容:基于python实现批量修改linu ...

  9. 批量修改Linux密码脚本(Python)

    搭建环境 centos 7.4 使用脚本 python 批量修改connect用户的密码 生成密码为随机密码 保存为xls文档 #!/usr/bin/env python # -*- coding: ...

随机推荐

  1. linux crontab定时任务运行shell脚本(shell执行sql文件)

    https://www.cnblogs.com/tiankongjava/p/6106743.html 今天做个linux定时任务(每晚12点把表汇总). 顺便写个博客记录一下~~ 为什么用linux ...

  2. _strupr _wcsupr _mbsupr

    将字符串转化为大写的形式(Convert a string to uppercase.)定义: char *_strupr( char *string ); wchar_t *_wcsupr( wch ...

  3. Odoo Documentation : Recordsets

    Other recordset operations Recordsets are iterable(可迭代的) so the usual Python tools are available for ...

  4. JS创建和存储 cookie的一些方法

    在js中cookie的操作与存储及清除cookie都与时间有关,我们只要把cookie过期时间进行有效的设置我们就可以控制它的存储了,下面我来给大家总结一下js中cookie的一些使用技巧 创建和存储 ...

  5. Spring AOP(三)--XML方式实现

    本文介绍通过XML方式实现Spring AOP,在上一篇中已经介绍了通过注解+java配置的方式,这篇文章主要是看XML中怎么配置,直接上代码了: 一.创建一个连接点 1⃣️定义接口 注意⚠️:可以定 ...

  6. PAT甲级——A1029 Median

    Given an increasing sequence S of N integers, the median is the number at the middle position. For e ...

  7. Ubuntu添加桌面图标

    下面以添加eclipse图标为例: sudo gedit /usr/share/applications/eclipse.desktop 然后在弹出的文件中输入: [Desktop Entry] Na ...

  8. Maven实战07_依赖

    1:依赖声明 <project> ... <dependencies> <dependency> <groupId>...</groupId> ...

  9. python-pygame安装教程

    网上有很多关于python,pygame的安装教程.大都比较麻烦,下面为大家介绍一种非常简单的安装方法.(因为安装大都是新手教程写详细一些) python是32位 python是3.6 1 pip配置 ...

  10. MR过程解析(转自about云)

     图中1:表示待处理数据,比如日志,比如单词计数图中2:表示map阶段,对他们split,然后送到不同分区图中3:表示reduce阶段,对这些数据整合处理.图中4:表示二次mapreduce,这个是m ...