本文由AI翻译

使用 ONLYOFFICE 文档的管理面板

概述

从版本 9.1 开始,ONLYOFFICE 管理面板提供了一个安全的网页界面,用于管理服务器配置和监控。本指南将解释如何设置和使用认证系统。

初始设置

默认情况下,管理面板是禁用的。请按照 http://example.com/welcome 页面上的说明启动它。

example.com 是安装了 ONLYOFFICE 文档的服务器名称。

首次安装

首次启动管理面板时,需要进行初始设置:

  1. 启动管理面板服务器。

    • 服务器会自动检测到没有配置管理员密码。
    • 一个引导码将被生成并显示在服务器日志中。
  2. 找到您的引导码。

    检查服务器日志中类似的信息:

    AdminPanel SETUP REQUIRED | Bootstrap code: ELAA8ZOCRUTX | Expires: 2025-10-01T20:50:00.000Z | Open: http://example.com/admin

    引导码是一个由字母和数字组成的 12 位短码。

    此代码仅在 1 小时内有效。

  3. 打开管理面板网页界面。

    导航到 http://example.com/admin —— 设置页面将会出现。

    管理面板设置页面 管理面板设置页面
  4. 完成设置。

    • 输入服务器日志中的引导码。
    • 创建您的管理员密码。
    • 点击 设置
    • 您将自动登录。
    成功设置后的管理面板仪表盘 成功设置后的管理面板仪表盘
安全注意事项
  • 引导码仅存储在内存中,并且只在日志中显示一次。
  • 代码仅在设置密码之前有效(通过 runtime.json 中的 passwordHash 检查)。
  • 设置完成后,所有节点的引导码均失效。
  • 在集群中,代码适用于共享相同 ADMINPANEL_BOOTSTRAP_SECRET 的所有节点。
  • 没有密码被传输或记录——只存储安全哈希。

常规登录

完成初始设置后:

  1. 导航到 http://example.com/admin
  2. 输入您的管理员密码。
  3. 点击 登录
    常规管理面板登录页面 常规管理面板登录页面
  4. 您的会话有效期为 1 小时。
会话详情
  • 会话使用安全的 HTTP-only cookies。
  • 它们在 1 小时不活动后自动过期。
  • 应用 SameSite=Strict 保护以防止 CSRF 攻击。

更改您的密码

要更改您的管理员密码:

  1. 登录管理面板。
  2. 转到 更改密码 页面。
  3. 输入您当前的密码。
  4. 输入您的新密码。
  5. 确认更改。
  6. 更改密码后,您的会话仍然有效。
密码哈希详情
  • 算法: PBKDF2-SHA256(600,000 次迭代,OWASP 2023)。
  • 跨平台: 哈希可以通过 Python 或 Node.js 生成。
外部生成密码哈希

OpenSSL 3.0+(推荐 - MCF 格式):

PASSWORD="YourPassword"; I=600000; S=$(openssl rand -base64 16 | tr -d '\n'); H=$(openssl kdf -binary -keylen 32 -kdfopt digest:SHA256 -kdfopt pass:UTF8:"$PASSWORD" -kdfopt salt:base64:"$S" -kdfopt iter:$I PBKDF2 | base64 | tr -d '\n'); echo "\$pbkdf2-sha256\$$I\$$S\$$H"

Node.js:

node -e "const crypto=require('crypto');const p=process.argv[1];const s=crypto.randomBytes(16);const sb=s.toString('base64').replace(/\+/g,'.').replace(/=/g,'');crypto.pbkdf2(p,s,600000,32,'sha256',(e,k)=>{const h=k.toString('base64').replace(/\+/g,'.').replace(/=/g,'');console.log('\$pbkdf2-sha256\$600000\$'+sb+'\$'+h)})" "YourPassword"

检查 OpenSSL 版本:

openssl version # OpenSSL 3.0.0 或更新版本 - ✅ 使用 openssl kdf 命令 # OpenSSL 1.x - ✅ 使用 openssl keyutl 命令

将生成的哈希添加到 runtime.json 文件中:

{ "adminPanel": { "passwordHash": "$pbkdf2-sha256$600000$..." } }

密码重置/恢复

如果您忘记了管理员密码,请删除 runtime.json 中的 passwordHash 条目:

{ "adminPanel": { } }

将生成一个新的引导码。请再次按照初始设置流程进行。

故障排除

找不到引导码

问题: 服务器已启动,但没有看到引导码。

解决方案:

  • 检查服务器日志中的“Bootstrap code”消息。
  • 如果代码已过期,刷新管理面板页面以生成新代码。

在您自己的服务器上托管 ONLYOFFICE 文档,或在云端使用

文章: 标签:
浏览所有标签