Skip to content

🚀 快速开始

安装

预编译安装

从以下链接下载对应平台的二进制文件即可:

下载后赋予执行权限并部署:

bash
sudo install -m 755 PasswordReset_linux-X86_64 /usr/local/bin/PasswordReset

源码编译

bash
# 替换内置私钥(必须!请使用随机生成的唯一私钥)
BUILTIN_KEY=$(openssl rand -hex 32)
go build -ldflags "-X main.BuiltinKeyHex=$BUILTIN_KEY" -o PasswordReset main.go

sudo mv PasswordReset /usr/local/bin/

WARNING

内置私钥是安全体系的第一层防线。每次编译务必使用 openssl rand -hex 32 生成随机私钥,切勿使用默认值。

首次使用

1️⃣ 初始化安全key

安全key是第二层密钥,由管理员自行设置并保管,用于派生每日加密key。

bash
export PASSWORD_RESET_SECRET_KEY="mySecureKey@2025"
sudo ./PasswordReset -init-key

安全key初始化后以 AES-256-GCM 加密存储于 /etc/PasswordReset/.secret_key.enc

2️⃣ 加密密码组件

密码组件是固定后缀,与日期拼接形成最终密码。使用 -encrypt 命令加密:

bash
# 方式1:命令行参数
sudo ./PasswordReset -encrypt -component="MySuffix2025"
# 输出: ENC:20260525:7S2a...

# 方式2:环境变量(推荐,避免shell历史)
export PASSWORD_RESET_PWD="MySuffix2025"
sudo ./PasswordReset -encrypt

将输出的 ENC:... 字符串保存,后续添加用户时使用。

3️⃣ 添加用户

bash
# 使用加密后的ENC串
echo "ENC:20260525:7S2a..." > /tmp/admin_pwd.txt
sudo ./PasswordReset -add-user=admin -password-file=/tmp/admin_pwd.txt -add

# 或者使用明文组件(程序自动加密)
echo "MySuffix2025" > /tmp/admin_pwd.txt
sudo ./PasswordReset -add-user=admin -password-file=/tmp/admin_pwd.txt -add

4️⃣ 安装服务

bash
# 安装系统服务,每6小时重置一次密码
sudo ./PasswordReset -service-install -hour=6

# Linux: 查看服务状态
sudo systemctl status PasswordReset.timer
sudo systemctl status PasswordReset.service

5️⃣ 查询当前密码

bash
sudo ./PasswordReset -decrypt
# 输出: admin: 20260526MySuffix2025

完整示例

bash
# 1. 设置安全key
export PASSWORD_RESET_SECRET_KEY="mySecureKey@2025"
sudo ./PasswordReset -init-key

# 2. 加密密码组件
export PASSWORD_RESET_PWD="Admin@2025!"
sudo ./PasswordReset -encrypt > /tmp/admin_enc.txt

# 3. 添加用户
sudo ./PasswordReset -add-user=admin -password-file=/tmp/admin_enc.txt -add

# 4. 安装服务
sudo ./PasswordReset -service-install -hour=12

# 5. 查看密码
sudo ./PasswordReset -decrypt

基于 MIT 许可发布