# 后台修改管理员账号密码 —— 使用说明

> 版本要求：**1.1.11 及以上**
> 入口：后台 →「系统设置」标签页 → 顶部「🔐 后台管理员账号」面板

---

## 一、界面长什么样

进入后台 → 点顶部「**系统设置**」→ 第一个面板就是：

| 字段 | 说明 |
|---|---|
| **用户名** | 自动回显当前用户名，可直接改 |
| **当前密码** | 修改时必须填写，用于验证身份 |
| **新密码** | 留空 = 只改用户名，不动密码 |
| **确认新密码** | 与新密码保持一致 |

填好后点「**保存并生效**」。

---

## 二、改密码的操作步骤

1. 后台 →「系统设置」
2. 在「用户名」填新用户名（不想改就保持原样）
3. 「当前密码」填**你现在正在用的密码**
4. 「新密码」填新密码，「确认新密码」再填一遍
5. 点「保存并生效」

成功后会提示「已保存并立即生效」。

> **重点**：**不需要重启服务**。保存的瞬间就已经生效，你可以直接用新密码重新登录试试。
> 系统同时把新凭据写回服务器 `.env` 文件，服务器重启后依然有效。

---

## 三、密码规则

保存时会校验，不满足会直接报错提示：

| 规则 | 说明 |
|---|---|
| 至少 8 位 | 太短会被拒 |
| 不能纯数字 | `12345678` 不行 |
| 不能纯字母 | `abcdefgh` 不行 |
| 不能与当前密码相同 | 无意义修改 |
| 两次输入需一致 | 防手误打错 |

**推荐组合**：大小写字母 + 数字 + 符号，例如 `Avc@2026#Admin`。

> 新版已修复 `.env` 转义问题，**密码含空格、`#`、引号都没问题**，可以放心用。

---

## 四、只改用户名

只改用户名时，「新密码」和「确认新密码」**留空即可**，密码保持不变。

---

## 五、忘记密码了怎么办

后台改密码需要「当前密码」，忘了就进不去。此时用命令行重置：

```bash
cd /www/wwwroot/v.abcxcx.com/auto-video-cut

# 改密码（示例：Avc@2026）
sed -i 's|^ADMIN_PASS=.*|ADMIN_PASS=Avc@2026|' .env

# 确认
grep -E "^ADMIN_USER|^ADMIN_PASS" .env

# 重启生效
pm2 restart avc
```

然后就能用新密码登录了。

---

## 六、常见问题

**Q：账号密码存在哪？数据库里为什么看不到？**

存在服务器项目根目录的 `.env` 文件里，**不写数据库**。

这是刻意设计：要读数据库里的配置，必须先知道数据库地址和密码；如果管理员账号也存在数据库里，一旦数据库故障，你就陷入「进不去后台 → 修不了数据库 → 更进不去后台」的死循环。放在 `.env` 保住了这条应急通道。

**Q：为什么必须填当前密码？**

防止后台 token 被窃取后，攻击者直接改密码把你锁在外面。必须证明「你知道原密码」才允许改。

**Q：改完要不要重启服务？**

不用。保存即刻生效。

**Q：改了用户名，登录页要跟着改吗？**

要。用新用户名 + 密码登录。

**Q：`.env` 文件在哪？**

面板底部会显示完整路径，通常是 `/www/wwwroot/你的域名/auto-video-cut/.env`。
该文件权限为 600（仅 root 可读），不会被安装包带走，也不会进版本库。

**Q：数据库故障时后台还能登吗？**

能登进登录页和设置页，但涉及数据库的页面（用户列表、订单等）会报错 —— 这正是保留 `.env` 方案的价值，让你有机会进后台排查。
