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

相關文章
相關標籤/搜索