📖 命令参考
密钥管理
-init-key
初始化用户安全key。从 PASSWORD_RESET_SECRET_KEY 环境变量读取安全key,使用内置私钥加密后写入 /etc/PasswordReset/.secret_key.enc。
export PASSWORD_RESET_SECRET_KEY="mySecureKey@2025"
sudo ./PasswordReset -init-key-reinit-key
重新初始化安全key。与 -init-key 的区别在于会覆盖已存在的 key 文件。
export PASSWORD_RESET_SECRET_KEY="newSecureKey@2025"
sudo ./PasswordReset -reinit-keyWARNING
重新初始化后,使用旧 key 加密的密码组件将无法解密。需要重新添加所有用户。
加密/解密
-encrypt
加密密码组件。输入明文密码组件,输出 ENC:YYYYMMDD:base64... 格式的加密串。
# 使用 -component 参数
sudo ./PasswordReset -encrypt -component="MySuffix"
# 使用环境变量(推荐)
export PASSWORD_RESET_PWD="MySuffix"
sudo ./PasswordReset -encrypt
# 使用密码文件
echo -n "MySuffix" > /tmp/component.txt
sudo ./PasswordReset -encrypt -password-file=/tmp/component.txt-component
配合 -encrypt 使用,指定密码组件。
sudo ./PasswordReset -encrypt -component="CustomSuffix@2025"-decrypt
查询当前所有用户的实际密码。需要已初始化的安全key和配置文件。
sudo ./PasswordReset -decrypt
# 输出格式:
# admin: 20260526MySuffix
# user2: 20260526AnotherSuffix用户管理
-add-user
添加或更新用户。必须配合 -password-file 或 PASSWORD_RESET_PWD 环境变量使用。
# 使用环境变量
export PASSWORD_RESET_PWD="MySuffix"
sudo ./PasswordReset -add-user=admin
# 使用密码文件(推荐)
sudo ./PasswordReset -add-user=admin -password-file=/tmp/pwd.txt
# 添加并立即创建系统用户
sudo ./PasswordReset -add-user=newuser -password-file=/tmp/pwd.txt -add
# 设置自动创建属性
sudo ./PasswordReset -add-user=newuser -password-file=/tmp/pwd.txt -auto-create
# 传入已加密的 ENC 串
sudo ./PasswordReset -add-user=admin -password-file=/tmp/enc_pwd.txt密码内容支持两种格式:
- 明文组件:程序自动使用当前日期派生key加密后存储
- ENC 串:直接存储,用于复用已有加密结果
-password-file
从文件读取密码内容(明文组件或 ENC 加密串)。推荐使用此方式而非环境变量,避免 shell 历史记录。
-add
立即创建不存在的系统用户。配合 -add-user 使用。
-auto-create
设置用户配置属性:当系统用户被误删除后,下次密码重置时自动重建。
-sudo-nopasswd
设置用户配置属性:允许免密sudo执行 su - root(仅限 Linux)。
也可通过环境变量 PASSWORD_RESET_SUDO_NOPASSWD=1 设置。
-allow-ssh
允许 SSH 登录(默认禁止)。程序会自动将用户添加到 /etc/ssh/sshd_config 的 DenyUsers 列表。
也可通过环境变量 PASSWORD_RESET_ALLOW_SSH=1 设置。
-remove-user
删除用户配置。
sudo ./PasswordReset -remove-user=admin-list-users
列出所有已配置的用户及其属性。
sudo ./PasswordReset -list-users-list-system-users
列出当前系统中可登录的用户。
sudo ./PasswordReset -list-system-users服务管理
-service-install
安装系统服务。
- Linux: 创建 systemd timer + oneshot 服务,由 timer 周期触发执行
- Windows: 创建 Windows SC 服务
# 默认间隔 12 小时
sudo ./PasswordReset -service-install
# 自定义间隔
sudo ./PasswordReset -service-install -hour=6-service-uninstall
卸载系统服务。
sudo ./PasswordReset -service-uninstall-service-name
自定义服务名称(默认: PasswordReset)。
sudo ./PasswordReset -service-install -service-name=MyService -hour=6-hour
设置密码重置间隔时间,单位为小时。
-print-service-cmd
打印当前系统的服务管理命令,不实际执行操作。
sudo ./PasswordReset -print-service-cmd其他
-h / -help
显示帮助信息。
-v / -version
显示版本信息。
环境变量参考
| 变量名 | 用途 | 配合命令 |
|---|---|---|
PASSWORD_RESET_SECRET_KEY | 用户安全key | -init-key, -reinit-key |
PASSWORD_RESET_PWD | 密码明文或ENC串 | -add-user, -encrypt |
PASSWORD_RESET_SUDO_NOPASSWD | 免密sudo | -add-user |
PASSWORD_RESET_ALLOW_SSH | 允许SSH | -add-user |