
# 更新一键式重置密码插件（批量操作-Linux系统root用户）
#### 操作场景
当您需要对多台Linux系统的边缘实例批量更新一键式重置密码插件时，可参考本文档操作。
#### 前提条件
- 准备好执行机，执行机需满足的条件请参见[约束与限制]。
- 需要提前准备待批量安装插件的边缘实例的IP地址、root用户的密码信息或者私钥文件。
- 执行机应该与待更新机器在同一VPC下。
- 在执行完步骤[6][7]之后可以解绑eip。
 
 #### 约束与限制
- 需要选取一台操作系统为CentOS 7（公共镜像）且已绑定弹性公网IP的边缘实例作为执行机，且与待批量安装插件的边缘实例之间网络需要互通。
  ![](https://support.huaweicloud.com/usermanual-iec/public_sys-resources/note_3.0-zh-cn.png)
  若已配置yum内部源，可不需要绑定弹性公网IP。
  
- 仅支持对使用同一密钥对的边缘实例执行批量安装插件的操作。
 
#### 操作步骤
1. 以root用户登录执行机。
2. 执行以下命令，安装批量脚本运行所需要的依赖。 **yum install ansible --y**
   
3. 请参考[获取并校验一键式重置密码插件完整性（Linux）](https://support.huaweicloud.com/usermanual-iec/iec_02_1303.html#iec_02_1303__section15564103103311)，下载对应的一键式重置密码插件CloudResetPwdAgent.zip并完成完整性校验。
   安装一键式重置密码插件对插件的具体放置目录无特殊要求，请您自定义。
   
4. 执行以下命令，将批量操作脚本下载到root目录下。 **curl *URL* \> \~/batch_update_log4j_version.py**
   其中，*URL*为批量操作的执行脚本。
   请根据边缘实例所在区域选择脚本的下载地址：
   华北-北京四：<https://cn-north-4-cloud-reset-pwd.obs.cn-north-4.myhuaweicloud.com/linux/batch_update_resetpwd/batch_update_log4j_version.py>
   
5. 执行以下命令，将更新插件脚本下载到root目录下。 **curl *URL* \> \~/update_log4j_version_for_resetpwdagent.sh**
   其中，*URL*为更新插件脚本的下载地址。
   请根据边缘实例所在区域选择脚本的下载地址：
   华北-北京四：<https://cn-north-4-cloud-reset-pwd.obs.cn-north-4.myhuaweicloud.com/linux/batch_update_resetpwd/update_log4j_version_for_resetpwdagent.sh>
   
6. 检查如下脚本是否在root目录下：
   - batch_update_log4j_version.py
   
   - update_log4j_version_for_resetpwdagent.sh
   
   - CloudResetPwdAgent.zip
    
7. 执行以下命令，新建并编辑host_list.txt，按i进入编辑模式。 **vi host_list.txt**
   将需要自动安装驱动的边缘实例的相关信息填写到host_list.txt文件中。
   文件填写格式与登录待切换的方式需要匹配。
   - 使用密钥对方式鉴权的边缘实例，填写方式如下：
     ![](https://support.huaweicloud.com/usermanual-iec/public_sys-resources/caution_3.0-zh-cn.png)
     - 使用密钥对方式鉴权的边缘实例，请将创建边缘实例时保存的私钥文件，上传至与host_list.txt同一个文件夹下。
     
     - 使用密钥对方式鉴权的边缘实例，请确保私钥文件的权限为400。 **chmod 400** ***私钥文件***
       
      
     每行仅需填写边缘实例IP地址。
     示例：
     ```
     192.168.1.10
     192.168.1.11
     ```
     
   
   - 使用密码方式登录的边缘实例，填写方式如下： 请严格按照每行**ip,root** **用户密码**，中间以英文逗号隔开的格式填写。
     示例：
     ```
     192.168.1.10,'**********'
     192.168.1.11,'**********'
     ```
     
    
8. 运行批量执行操作脚本"batch_update_log4j_version.py"。
   - 密钥对鉴权方式的实例 如果私钥文件与批量操作执行脚本在一个目录下，则直接指定私钥文件名称即可。
     **python batch_update_log4j_version.py *{私钥文件路径/私钥文件名称}***
     图1运行脚本   
     ![](https://support.huaweicloud.com/usermanual-iec/zh-cn_image_0000001835323906.png "点击放大") 
   
   - 密码方式鉴权的服务器。 **python batch_update_log4j_version.py**
     图2运行脚本   
     ![](https://support.huaweicloud.com/usermanual-iec/zh-cn_image_0000001882003145.png "点击放大") 
    
9. 执行如下命令，在"/root/logs/exec_origin.log"的最后一行查看运行结果日志。 **vim /root/logs/exec_origin.log**
   若如[图3]所示，则表示运行成功。
   图3运行成功   
   ![](https://support.huaweicloud.com/usermanual-iec/zh-cn_image_0000001835164098.png "点击放大") 
 
