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

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

    wKioL1TK5S7SBTdzAAEJm06QBGE831.jpg

py_xxx_passwd.py服务器

#!/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[i] = 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[key]))
        file_w.close()


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

相关文章
相关标签/搜索