zoukankan      html  css  js  c++  java
  • saltstack+python批量修改服务器密码

    saltstack安装:略过

    python脚本修改密码:

     1 # -*- coding utf-8 -*-
     2 import socket
     3 import re
     4 import os
     5 import sys
     6 import crypt
     7 
     8 
     9 localIP = socket.gethostbyname(socket.gethostname())
    10 
    11 def password():
    12     localIP = socket.gethostbyname(socket.gethostname())   #获取本地ip
    13     a = re.split('[.]', localIP)  #切割ip地址并生成列表
    14     addr = a[3]
    15     ps = "Subuy2017@"+addr
    16     return ps
    17 
    18 new_passwd = crypt.crypt(password(),"ab")  #将生成的密码加密
    19 change_passwd = "usermod -p %s test" %(new_passwd)     #采用usermod方式修改密码,必须使用密文密码来修改
    20 os.system(change_passwd)
    21 print("Congratulation!,password for %s is %s " %(localIP,password()))
    22 sys.exit()

    结合以上脚本配合saltstack 命令来批量修改服务器密码:

     1 [root@testd files]# salt -N 'test' state.highstate
     2 rac2:
     3 ----------
     4           ID: file
     5     Function: file.managed
     6         Name: /usr/local/shell/change_passwd.py
     7       Result: True
     8      Comment: File /usr/local/shell/change_passwd.py updated
     9      Started: 10:57:38.489545
    10     Duration: 568.87 ms
    11      Changes:   
    12               ----------
    13               diff:
    14                   ---  
    15                   +++  
    16                   @@ -17,7 +17,7 @@
    17                        return ps
    18                    
    19                    new_passwd = crypt.crypt(password(),"ab")
    20                   -change_passwd = "usermod -p %s test" %(new_passwd)
    21                   +change_passwd = "usermod -p %s root" %(new_passwd)
    22                    os.system(change_passwd)
    23                    print("Congratulation!,password for %s is %s " %(localIP,password()))
    24                    sys.exit()
    25 ----------
    26           ID: pkg_install
    27     Function: cmd.run
    28         Name: python /usr/local/shell/change_passwd.py
    29       Result: True
    30      Comment: Command "python /usr/local/shell/change_passwd.py" run
    31      Started: 10:57:39.059976
    32     Duration: 114.552 ms
    33      Changes:   
    34               ----------
    35               pid:
    36                   19860
    37               retcode:
    38                   0
    39               stderr:
    40               stdout:
    41                   Congratulation!,password for IP地址 is Subuy2017@162
    42 
    43 Summary
    44 ------------
    45 Succeeded: 2 (changed=2)
    46 Failed:    0
    47 ------------
    48 Total states run:     2
    49 rac1:
    50 ----------
    51           ID: file
    52     Function: file.managed
    53         Name: /usr/local/shell/change_passwd.py
    54       Result: True
    55      Comment: File /usr/local/shell/change_passwd.py updated
    56      Started: 10:57:39.149359
    57     Duration: 598.117 ms
    58      Changes:   
    59               ----------
    60               diff:
    61                   ---  
    62                   +++  
    63                   @@ -17,7 +17,7 @@
    64                        return ps
    65                    
    66                    new_passwd = crypt.crypt(password(),"ab")
    67                   -change_passwd = "usermod -p %s test" %(new_passwd)
    68                   +change_passwd = "usermod -p %s root" %(new_passwd)
    69                    os.system(change_passwd)
    70                    print("Congratulation!,password for %s is %s " %(localIP,password()))
    71                    sys.exit()
    72 ----------
    73           ID: pkg_install
    74     Function: cmd.run
    75         Name: python /usr/local/shell/change_passwd.py
    76       Result: True
    77      Comment: Command "python /usr/local/shell/change_passwd.py" run
    78      Started: 10:57:39.749030
    79     Duration: 109.626 ms
    80      Changes:   
    81               ----------
    82               pid:
    83                   720
    84               retcode:
    85                   0
    86               stderr:
    87               stdout:
    88                   Congratulation!,password for IP地址 is Subuy2017@161
    89 
    90 Summary
    91 ------------
    92 Succeeded: 2 (changed=2)
    93 Failed:    0
    94 ------------
    95 Total states run:     2
  • 相关阅读:
    RAID 0 软件实现(Windows 系统)
    keepalived 实现LVS负载均衡高可用集群(一)
    ISCSI服务端-客户端基础配置
    LVS负载分担(DR模式)基础搭建(一)
    LVS负载分担(NAT模式)基础搭建
    Chronyd同步时间(Server/Client)配置
    代码签名
    paillier加密算法原理详解
    pip安装了包但pycharm里找不到(pip如何安装到conda下)
    苹果系统iOS、macOS应用管理机制
  • 原文地址:https://www.cnblogs.com/fanyunpeng/p/6266146.html
Copyright © 2011-2022 走看看