Python は Linux サーバー上でパスワードのバッチ変更を実装し、execl を生成します

WBOY
リリース: 2016-06-16 08:44:28
オリジナル
1776 人が閲覧しました

Linux サーバーのパスワードをバッチ変更し、execl テーブルを同時に生成します

コードをコピー コードは次のとおりです:

#!/usr/bin/env python
#coding: utf8
#ランダムなインポート選択からカスタム長のパスワードをランダムに生成
インポート文字列、pickle
def GenPassword(length=8,chars=string.ascii_letters+string.digits):

return ''.join([choice(chars) for i in range(length)])
def passlist( r_user,c_user,ip_list,web_list):
dic={}
for i in ip_list:
if i.split()[1] in web_list:
dic[i.split()[ 1]]=[i.split()[0],{r_user:GenPassword(32),c_user:GenPassword(32)}]
else:
dic[i.split()[1]]= [i.split()[0],{r_user:GenPassword(32)}]
return dic
def ip_list(ip_file):
with open(ip_file) as file:
ip_file=file .read().strip().split("n")
#web_list=[i が web_list の場合、i は ip_file に]
main()
with open("../host_message. pickle","w") as fd:
pickle.dump(dic,fd)
def main():
file=" /root/cui/script/python/ip.txt"
web_list=[ip1,ip2,ip3,ip4]
file_list=ip_list(file)
file_dic_pass=passlist("root","www" ,file_list,web_list)
return file_dic_pass

if __name__=="__main__":
save_dic()



コードをコピー

コードは次のとおりです:

#!/usr/bin/env python
#coding:utf8
#批量修改密码主程序
import pickle
from ssh_co.ssh_connect import sshd
from コマンド.ip_passwd import save_dic,main
from execl import set_execl
def read_dic():
with open("host_message.pickle","rb") as f:
return pickle.load(f)
def ssh_main():
pid_host=1
host_message=read_dic()
host_list=host_message.keys()
print host_list
xrange(len(host_list)) の host_msg :
host_attribute=(host_list[host_msg],port,user,passwd)
ssh_conn=sshd(host_attribute,pid_host)
if "www" in host_message[host_list[host_msg]][1].keys( ):
xrange(len(host_message[host_list[host_msg]]][1].keys())) のユーザー名:
try:
user=host_message[host_list[host_msg]][1]。 keys()[username]
passwd = host_message [host_msg]] [1] [host_message [host_msg]] [1] .keys()[username]]
results = ssh_conn.set_ssh_cmd(u u "/bin/echo %s|/usr/bin/passwd --stdin %s" %(passwd,user))
結果を出力,host_list[host_msg],user+"---------- -"+passwd
ただし:
print results,host_list[host_msg],user+"-----除く------"+passwd
else:
user=host_message[host_list] [host_msg]][1].keys()[0]
passwd=host_message[host_list[host_msg]][1][host_message[host_list[host_msg]][1].keys()[0]]
result=ssh_conn.set_ssh_cmd(u"/bin/echo %s|/usr/bin/passwd --stdin %s" %(passwd,user))
print result,host_list[host_msg],user+"-- ---------"+passwd
if __name__ == "__main__":
dic=main()
open("host_message.pickle","w") を fd として使用:
pickle.dump(dic,fd)
set_execl()
ssh_main()
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート