50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
"""管理密码设置工具
|
|
|
|
用法:
|
|
python3 admin_cli.py # 首次设置密码
|
|
python3 admin_cli.py <新密码> # 修改密码
|
|
python3 admin_cli.py --check # 检查是否已设置密码
|
|
"""
|
|
import sys
|
|
import os
|
|
|
|
# 添加 backend 目录到 path
|
|
sys.path.insert(0, os.path.dirname(__file__))
|
|
|
|
from services.admin_auth import is_configured, set_password
|
|
|
|
|
|
def main():
|
|
if len(sys.argv) > 1 and sys.argv[1] == "--check":
|
|
if is_configured():
|
|
print("✅ 管理密码已设置")
|
|
else:
|
|
print("⚠️ 管理密码未设置,请运行: python3 admin_cli.py")
|
|
return
|
|
|
|
if len(sys.argv) > 1:
|
|
new_password = sys.argv[1]
|
|
else:
|
|
import getpass
|
|
if is_configured():
|
|
print("修改管理密码")
|
|
else:
|
|
print("设置管理密码")
|
|
new_password = getpass.getpass("请输入密码: ")
|
|
confirm = getpass.getpass("请再次输入密码: ")
|
|
if new_password != confirm:
|
|
print("❌ 两次输入不一致")
|
|
sys.exit(1)
|
|
|
|
if len(new_password) < 4:
|
|
print("❌ 密码至少4位")
|
|
sys.exit(1)
|
|
|
|
set_password(new_password)
|
|
print(f"✅ 管理密码已{'更新' if is_configured() else '设置'}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|