wer2122121 发表于 2015-2-2 09:01:23

saltstack+python+shell批量修改服务器密码

本程序是在salt环境下,调用了salt的命令来进行批量修改,所要修改的服务器host都是从/etc/host里面读取的,当然你可以自己新建一个host文件来读取,主要是方便host name的变更,另外采用了openssl来生成12位随机密码,并再修改完后写到文件里面备份。
   
py_xxx_passwd.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/python
import commands
ip, host = commands.getstatusoutput("cat hosts|grep -v 'XXX'|awk '{print $2}'")
host_str = host.split('\n')
passwd_str = {}
for i in host_str:
      a,b = commands.getstatusoutput('openssl rand 12 -base64')
      c,d = commands.getstatusoutput('openssl passwd -1 '+b)
      e,f = commands.getstatusoutput("salt "+i+" shadow.set_password XXX '"+d+"'")
      passwd_str = b
      print f
sts,file = commands.getstatusoutput('touch new_passwd.txt')
if sts == 0:
      file_w = open('new_passwd.txt', 'w')
      for key in passwd_str.keys():
                file_w.write('%s:%s\n' % (key, passwd_str))
      file_w.close()





住:第一个XXX是去掉salt-master的host name,因为这些操作都是在salt-master里面做的,不去掉会提示错误,第二个XXX是每台服务器要修改的用户帐号,另外要修改root的,就直接修改第二个XXX为root就行了,这里就不贴出来了。

页: [1]
查看完整版本: saltstack+python+shell批量修改服务器密码