
# 配置Storm业务用户密码策略
#### 操作场景
本章节内容适用于MRS 3.x及后续版本。
使用Storm业务用户提交一个拓扑以后，该任务需要使用提交拓扑的用户身份持续运行。在拓扑运行的过程中，worker进程可能需要正常重启以保持拓扑工作。若业务用户的密码被修改，或密码使用天数超过了默认密码策略指定的最大有效期，则会影响拓扑正常运行。MRS集群管理员需要根据企业安全要求，为Storm业务用户配置独立的密码策略。
![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
如果不为Storm业务用户配置独立的密码策略，在修改业务用户密码以后，可以删除旧的拓扑并重新提交，使拓扑继续运行。
#### 对系统的影响
- 为Storm业务用户配置独立的密码策略后，此用户将不受Manager界面上的"密码策略"配置影响。
- 为Storm业务用户配置独立的密码策略后，如果配置了跨集群互信，请根据此密码策略，在Manager为Storm业务用户重置密码。
 
#### 前提条件
MRS集群管理员已明确业务需求，并创建好"人机"用户，例如"testpol"。
#### 操作步骤
1. 以"omm"用户登录集群内任意节点。
2. 执行以下命令，防止超时退出。 
   **TMOUT=0**
   ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
   执行完本章节操作后，请及时恢复超时退出时间，执行命令**TMOUT=** *超时退出时间* 。例如：**TMOUT=** **600**，表示用户无操作600秒后超时退出。
   
   
3. 执行以下命令，导出环境变量。 
   **EXECUTABLE_HOME="${CONTROLLER_HOME}/kerberos_user_specific_binary/kerberos"**
   **LD_LIBRARY_PATH=${EXECUTABLE_HOME}/lib:$LD_LIBRARY_PATH**
   **PATH=${EXECUTABLE_HOME}/bin:$PATH**
   
   
4. 执行以下命令，并输入Kerberos管理员密码，进入Kerberos管理控制台。 
   **kadmin -p kadmin/admin**
   ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
   第一次使用"kadmin/admin"用户需要修改"kadmin/admin"密码。
   界面显示如下信息，则表示已成功进入Kerberos管理控制台。
   ```
   kadmin:
   ```
   
   
5. 执行以下命令，查看创建好的"Human-Machine"用户的具体信息。 
   **getprinc** *用户名*
   例如，查看"testpol"用户的详细信息：
   **getprinc testpol**
   界面显示如下信息，说明指定用户使用了默认的密码策略：
   ```
   Principal: testpol@<系统域名> 
   …… 
   Policy: default
   ```
   
   
6. 执行以下命令，为Storm业务用户创建独立的密码策略，例如"streampol"： 
   **addpol -maxlife 0day -minlife 0sec -history 1 -maxfailure 5 -failurecountinterval 5min -lockoutduration 5min -minlength 8 -minclasses 4 streampol**
   其中"-maxlife"表示密码最大有效期，"0day"表示永不过期。
   
   
7. 执行以下命令，查看新创建的策略"streampol"。 
   **getpol streampol**
   界面显示如下信息，说明新策略已指定密码不过期：
   ```
   Policy: streampol 
    Maximum password life: 0 days 00:00:00 
    ……
   ```
   
   
8. 执行以下命令，将新的策略"streampol"应用到Storm用户"testpol"。 
   **modprinc -policy streampol testpol**
   其中"streampol"是策略名称，"testpol"是用户名。
   界面显示如下信息，说明指定用户的属性已修改：
   ```
   Principal "testpol@<系统域名>" modified.
   ```
   
   
9. 执行以下命令，查看Storm用户"testpol"用户的当前信息。 
   **getprinc testpol**
   界面显示如下信息，说明指定用户使用了新的密码策略：
   ```
   Principal: testpol@<系统域名> 
    …… 
    Policy: streampol
   ```
   
   
 
