本程序是在salt環境下,調用了salt的命令來進行批量修改,所要修改的服務器host都是從/etc/host裏面讀取的,固然你能夠本身新建一個host文件來讀取,主要是方便host name的變動,另外採用了openssl來生成12位隨機密碼,並再修改完後寫到文件裏面備份。
python
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