本程序是在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