LoveChengke
9e52cfad4d
fix(deploy): 改密前把密码规则说清楚,并让"不合规"提示与输入提示走同一个终端
实机反馈:`classhelper password admin` 连问三次"新密码:"却不说明为什么——用户得失败一两次
才知道规则(而且 read -s 不回显,屏幕上连星号都没有,更容易以为卡住了)。
- 开问之前先打印规则(≥8 位、大小写/数字/符号至少 3 类、不能与用户名相同、别用
admin/123456 这类开头,并给一个合规示例),并说明"输入不回显是正常的";
- 提示语带上次数:`新密码(第 1/3 次):`,三次都没过时明确告知密码未改动,
并给出非交互改密的完整命令;
- 新增 warn_user():这类"正对着交互输入"的提示直接写 /dev/tty(与提示语同一个设备),
不再走 stdout/stderr 分流,避免提示与它对应的警告错位或看不见;没有终端时回退 stderr。
用 `{ …; } 2>/dev/null` 这个形状而不是 `… >/dev/tty 2>/dev/null`,否则 /dev/tty 打不开时
bash 自己那句 "No such device or address" 会漏在用户眼前(重定向从左往右处理,压不住)。
2026-10-05 21:01:10 +08:00
..
2026-10-05 16:39:38 +08:00
2026-10-05 16:39:38 +08:00
2026-10-05 16:39:38 +08:00
2026-10-05 16:39:38 +08:00
2026-10-05 20:05:39 +08:00
2026-10-05 20:05:39 +08:00
2026-10-05 21:01:10 +08:00
2026-10-05 16:39:38 +08:00
2026-10-05 20:05:39 +08:00
2026-10-05 20:05:39 +08:00
2026-10-05 16:39:38 +08:00
2026-10-05 16:39:38 +08:00
2026-10-05 16:39:38 +08:00
2026-10-05 20:05:39 +08:00
2026-09-12 00:20:21 +08:00
2026-10-05 20:05:39 +08:00
2026-10-05 16:39:38 +08:00