今天来聊一个关于 vCenter Server Appliance 安全管理的话题——如何修改 Photon OS 中 root 用户的密码复杂度要求。根据 VMware KB 307292,其实我们可以通过编辑 pam.d 配置文件来实现这个目标。这里记录一下。
背景知识
1. vCenter Server Appliance 的操作系统
vCenter Server Appliance (VCSA) 使用的是 Photon OS——,大家都应该知道的了,这是 VMware 开发的一个轻量级 Linux 发行版,专为虚拟化和云计算场景设计。
2. 默认密码复杂度要求
默认情况下,VCSA 的 Photon OS 对 root 用户的密码复杂度要求如下:
- 最小长度:6 个字符
- 至少包含:1 个小写字母、1 个大写字母、1 个数字、1 个特殊字符
- 与旧密码的差异:至少 4 个不同字符
操作步骤
1. 备份与准备
在进行任何修改之前,必须:
# 拍摄 vCenter Server Appliance 的快照
# 在 vSphere Client 中操作,或使用 PowerCLI
Get-VM -Name | New-Snapshot -Name "Before_Password_Policy_Change" -Description "Backup before password policy change"
2. 连接到 VCSA via SSH
# 使用 SSH 连接到 VCSA
ssh root@
3. 备份配置文件
# 备份密码策略配置文件
cp -p /etc/applmgmt/appliance/system-password /etc/applmgmt/appliance/system-password-date +%F_%H:%M:%S.back
4. 编辑密码策略配置
# 编辑密码策略配置文件
vi /etc/applmgmt/appliance/system-password
找到并修改以下行:
password requisite pam_pwquality.so dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 minlen=6 difok=4 enforce_for_root
5. 参数说明
| 参数名 | 含义 | 默认值 | 说明 |
|——–|——|——–|——|
| minlen | 最小密码长度 | 6 | 设置密码的最小长度 |
| lcredit | 小写字母信用值 | -1 | 负数表示至少包含多少个小写字母 |
| ucredit | 大写字母信用值 | -1 | 负数表示至少包含多少个大写字母 |
| dcredit | 数字信用值 | -1 | 负数表示至少包含多少个数字 |
| ocredit | 其他字符信用值 | -1 | 负数表示至少包含多少个特殊字符 |
| difok | 与旧密码的最小不同字符数 | 4 | 密码修改时至少要有多少个字符不同 |
6. 重启管理服务
# 重启 applmgmt 服务以应用更改
service-control --restart applmgmt
# 检查服务状态
service-control --status applmgmt
7. 验证更改
# 验证密码策略是否已生效
cat /etc/pam.d/system-password
cat /etc/applmgmt/appliance/system-password
# 尝试修改密码(用于测试)
passwd
示例场景
1. 更严格的密码策略
如果需要更严格的密码策略,可以这样修改:
password requisite pam_pwquality.so dcredit=-2 ucredit=-2 lcredit=-2 ocredit=-2 minlen=12 difok=8 enforce_for_root
结果:要求密码至少 12 个字符,包含至少 2 个小写、2 个大写、2 个数字和 2 个特殊字符,并且与旧密码有至少 8 个字符不同。
2. 简化的密码策略(不推荐)
如果需要暂时降低密码复杂度(例如,测试环境):
password requisite pam_pwquality.so dcredit=-0 ucredit=-0 lcredit=-0 ocredit=-0 minlen=8 difok=3 enforce_for_root
结果:要求密码至少 8 个字符,没有字符类型要求,但与旧密码至少有 3 个字符不同。
重要注意事项
1. 不要直接修改 /etc/pam.d/system-password
# 错误的做法:直接修改 /etc/pam.d/system-password
# 这样的修改不会保存,重启后会失效
vi /etc/pam.d/system-password
# 正确的做法:修改 /etc/applmgmt/appliance/system-password
vi /etc/applmgmt/appliance/system-password
2. 增强型链接模式 (ELM) 的要求
# 如果是增强型链接模式
# 需要为所有 ELM 节点创建脱机快照
# 确保所有节点的密码策略一致
3. 密码策略对其他用户的影响
# 这个修改只影响 root 用户
# 其他用户的密码策略由 /etc/pam.d/password-auth 文件控制
vi /etc/pam.d/password-auth
故障排查
1. 无法登录问题
# 如果修改后无法登录
# 使用 vSphere Client 连接到 ESXi 主机
# 启动 VCSA 的控制台
# 使用 "shell" 命令进入 Photon OS
# 恢复备份的配置文件
cp -p /etc/applmgmt/appliance/system-password-.back /etc/applmgmt/appliance/system-password
# 重启服务
service-control --restart applmgmt
2. 密码修改失败
# 如果出现密码修改失败
# 检查密码是否符合策略要求
# 使用以下命令调试
tail -f /var/log/messages
# 或查看 PAM 相关日志
tail -f /var/log/secure
安全最佳实践
1. 定期更改密码
# 使用 PowerCLI 定期修改密码
Connect-VIServer
Get-VM -Name | Invoke-VMScript -ScriptText "passwd" -GuestUser root -GuestPassword
2. 使用双因素认证
# 考虑启用 SSH 双因素认证
# 配置 Google Authenticator 或类似服务
3. 监控密码策略违规
# 使用 SIEM 工具监控密码策略违规
# 配置 vRealize Operations Manager 监控
Reference: VMware KB 307292







