服务器密码管理脚本

#!/usr/bin/python #-- coding: utf-8 -- from random import choice import string,sys,time import paramiko,json from fabric.api import env,run,cd,task,roles

env.roledefs = { 'test':['root@10.1.33.132:22','root@10.1.33.133:22'], 'live':['root@10.1.33.134:22','root@10.1.33.133:22'] }

class Ch_passwd(): def init(self,user): #self.ip = ip self.user = user self.passwd = [] ######产生随机密码### """function to generate a passwd""" def get_passwd(self,passwd_length=10): ####默认值 passwd_seed = string.digits + string.ascii_lowercase + string.ascii_letters

  • string.punctuation.replace("'","").replace('"','') passwd = [] while len(passwd) < passwd_length: passwd.append(choice(passwd_seed)) password=''.join(passwd) password=password.replace("'","").replace('"','')###这里是为了去除单双引> 号,避免出现不必要的错误 return password ####登录服务器修改密码 def cha_passwd(self,Ip): new_passwd = self.get_passwd() self.passwd.append(new_passwd) run("/bin/echo '%s'|passwd --stdin %s" %(new_passwd,self.user)) data = dict(zip(Ip,self.passwd)) with open('/mnt/passwd.txt','w') as f: json.dump(data,f,indent=4) ch_passwd = Ch_passwd('root') @task @roles('test') def get_host_test(): """ get hostname """ print time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) Ip = [] for ip in env.roledefs['test']: r1 = r"root@([\d+.]+):22" s = ''.join(re.findall(r1,ip)) Ip.append(s) ch_passwd.cha_passwd(Ip)

转载于:https://my.oschina.net/u/1775013/blog/759646

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值