本文由AI翻译
使用 ONLYOFFICE 文档的管理面板
概述
从版本 9.1 开始,ONLYOFFICE 管理面板提供了一个安全的网页界面,用于管理服务器配置和监控。本指南将解释如何设置和使用认证系统。
初始设置
默认情况下,管理面板是禁用的。请按照 http://example.com/welcome 页面上的说明启动它。
example.com 是安装了 ONLYOFFICE 文档的服务器名称。
首次安装
首次启动管理面板时,需要进行初始设置:
-
启动管理面板服务器。
- 服务器会自动检测到没有配置管理员密码。
- 一个引导码将被生成并显示在服务器日志中。
-
找到您的引导码。
检查服务器日志中类似的信息:
AdminPanel SETUP REQUIRED | Bootstrap code: ELAA8ZOCRUTX | Expires: 2025-10-01T20:50:00.000Z | Open: http://example.com/admin引导码是一个由字母和数字组成的 12 位短码。
此代码仅在 1 小时内有效。
-
打开管理面板网页界面。
导航到
http://example.com/admin—— 设置页面将会出现。
-
完成设置。
- 输入服务器日志中的引导码。
- 创建您的管理员密码。
- 点击 设置。
- 您将自动登录。
安全注意事项
- 引导码仅存储在内存中,并且只在日志中显示一次。
- 代码仅在设置密码之前有效(通过
runtime.json中的passwordHash检查)。 - 设置完成后,所有节点的引导码均失效。
- 在集群中,代码适用于共享相同
ADMINPANEL_BOOTSTRAP_SECRET的所有节点。 - 没有密码被传输或记录——只存储安全哈希。
常规登录
完成初始设置后:
- 导航到
http://example.com/admin。 - 输入您的管理员密码。
- 点击 登录。
- 您的会话有效期为 1 小时。
会话详情
- 会话使用安全的 HTTP-only cookies。
- 它们在 1 小时不活动后自动过期。
- 应用
SameSite=Strict保护以防止 CSRF 攻击。
更改您的密码
要更改您的管理员密码:
- 登录管理面板。
- 转到 更改密码 页面。
- 输入您当前的密码。
- 输入您的新密码。
- 确认更改。
- 更改密码后,您的会话仍然有效。
密码哈希详情
- 算法: 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”消息。
- 如果代码已过期,刷新管理面板页面以生成新代码。
文章: 标签:
浏览所有标签