From 039159dfc016053e728b10fcce7613c486d81e8f Mon Sep 17 00:00:00 2001 From: BugKing Date: Fri, 16 Dec 2022 00:13:15 +0800 Subject: [PATCH] docs: add password resetting section in FAQ (#145) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ```release-note docs: add password resetting section in FAQ ``` 在 FAQ 中增加忘记密码处理相关内容。 --- docs/getting-started/first-post.md | 2 +- docs/user-guide/common.md | 2 +- docs/user-guide/faq.md | 50 +++++++++++++++++++ .../version-2.0/getting-started/first-post.md | 2 +- .../version-2.0/user-guide/common.md | 2 +- versioned_docs/version-2.0/user-guide/faq.md | 50 +++++++++++++++++++ 6 files changed, 104 insertions(+), 4 deletions(-) diff --git a/docs/getting-started/first-post.md b/docs/getting-started/first-post.md index 87f67a3..31d1c85 100644 --- a/docs/getting-started/first-post.md +++ b/docs/getting-started/first-post.md @@ -10,7 +10,7 @@ description: 安装完成后,如何写下第一篇文章。 浏览器访问 `$HALO_EXTERNAL_URL/console/`(外部访问链接)即可进入 Halo 管理端。默认的管理员用户名为 `admin`,登录密码为安装时设置的 `HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD`,文档中的默认值为 `P@88w0rd`。 :::info -如果你在安装时没有设置 `HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD` 变量或忘记了设置的密码,可以参考[常见问题中的忘记密码章节](../user-guide/faq.md)进行处理。 +如果你在安装时没有设置 `HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD` 变量或忘记了设置的密码,可以参考[常见问题中的忘记密码章节](../user-guide/faq.md#忘记密码怎么办)进行处理。 ::: ## 新建文章 diff --git a/docs/user-guide/common.md b/docs/user-guide/common.md index 9c5cabc..1268327 100644 --- a/docs/user-guide/common.md +++ b/docs/user-guide/common.md @@ -11,7 +11,7 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 控制台是一个 Halo 站点的后台管理系统,只有具有权限的登录用户才可以正常使用控制台功能。你可以在控制台中管理站点中的文章、页面、附件等各种内容,调整站点使用的主题或各种设置。 :::info -控制台默认地址为 `$HALO_EXTERNAL_URL/console/`。忘记密码请参考[常见问题中的忘记密码章节](../user-guide/faq.md)进行处理。 +控制台默认地址为 `$HALO_EXTERNAL_URL/console/`。忘记密码请参考[常见问题中的忘记密码章节](../user-guide/faq.md#忘记密码怎么办)进行处理。 ::: ### 界面说明 diff --git a/docs/user-guide/faq.md b/docs/user-guide/faq.md index f330d65..9f3be42 100644 --- a/docs/user-guide/faq.md +++ b/docs/user-guide/faq.md @@ -7,6 +7,56 @@ description: 使用上的常见问题 **Halo** [ˈheɪloʊ],是一款好用又强大的[开源建站工具](https://github.com/halo-dev/halo),配合上不同的模板与插件,可以很好地帮助你构建你心中的理想站点。它可以是你公司的官方网站,可以是你的个人博客,也可以是团队共享的知识库,甚至可以是一个论坛、一个商城。 +### 忘记密码怎么办? + +如果安装时没有指定 `HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD` 环境变量,系统会随机一个初始化密码,可以通过下面的命令进行查看。 + +```bash +docker logs halo | grep 'Generated random password:' | tail -1 +``` + +如果你已经修改过初始化密码后忘记了密码,假设系统中还有可用的具有用户管理权限的其他用户,可以通过该用户参考[修改用户密码](./users#修改用户密码)部分,修改指定用户的密码。没有可用的具有用户管理权限的管理员用户时,目前需要通过删除数据库记录的方式,触发管理员用户的初始化任务进行密码重置。 + +假设 Halo 使用容器方式运行,容器名称为 `halo`,具体操作如下。 + +1. 停止 Halo 服务 + + ```bash + docker stop halo + ``` + +2. 连接 Halo 使用的数据库,删除 admin 用户记录 + + 以容器化部署的 PostgreSQL 为例,假设容器名称为 `halo_db`。 + + ```bash + # 进入 psql 命令行 + docker exec -it halo_db psql halo + + # 执行下面的 SQL 删除 admin 用户记录 + delete from extensions where name like '/registry/users/admin'; + ``` + + :::info + 其他类型的数据库处理方式类似,先通过命令行或数据库连接工具连接到数据库后,再执行上面的 `delete` SQL 语句。 + ::: + +3. 重新启动 Halo 服务 + + ```bash + docker start halo + ``` + +4. 登录 Halo 控制台 + + 如果部署时通过 `HALO_SECURITY_INITIALIZER_SUPERADMINUSERNAME` 和 `HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD` 环境变量指定了初始化用户名和密码,使用该用户名密码登录控制台。 + + 如果未指定该配置,则默认用户名为 `admin`,默认密码将打印在 Halo 容器日志中,可以通过如下命令查看。 + + ```bash + docker logs halo | grep 'Generated random password:' | tail -1 + ``` + ### 为什么百度无法搜索到我的站点? 这是一个暂时无法解答的问题。所涉及到的问题过多,受影响因素可能有域名、服务器 IP 位置、建站时间、网站结构、内容等等。建议了解一下 SEO 相关知识对网站进行优化,目前我们在程序方面做的优化有: diff --git a/versioned_docs/version-2.0/getting-started/first-post.md b/versioned_docs/version-2.0/getting-started/first-post.md index 87f67a3..31d1c85 100644 --- a/versioned_docs/version-2.0/getting-started/first-post.md +++ b/versioned_docs/version-2.0/getting-started/first-post.md @@ -10,7 +10,7 @@ description: 安装完成后,如何写下第一篇文章。 浏览器访问 `$HALO_EXTERNAL_URL/console/`(外部访问链接)即可进入 Halo 管理端。默认的管理员用户名为 `admin`,登录密码为安装时设置的 `HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD`,文档中的默认值为 `P@88w0rd`。 :::info -如果你在安装时没有设置 `HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD` 变量或忘记了设置的密码,可以参考[常见问题中的忘记密码章节](../user-guide/faq.md)进行处理。 +如果你在安装时没有设置 `HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD` 变量或忘记了设置的密码,可以参考[常见问题中的忘记密码章节](../user-guide/faq.md#忘记密码怎么办)进行处理。 ::: ## 新建文章 diff --git a/versioned_docs/version-2.0/user-guide/common.md b/versioned_docs/version-2.0/user-guide/common.md index 9c5cabc..1268327 100644 --- a/versioned_docs/version-2.0/user-guide/common.md +++ b/versioned_docs/version-2.0/user-guide/common.md @@ -11,7 +11,7 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 控制台是一个 Halo 站点的后台管理系统,只有具有权限的登录用户才可以正常使用控制台功能。你可以在控制台中管理站点中的文章、页面、附件等各种内容,调整站点使用的主题或各种设置。 :::info -控制台默认地址为 `$HALO_EXTERNAL_URL/console/`。忘记密码请参考[常见问题中的忘记密码章节](../user-guide/faq.md)进行处理。 +控制台默认地址为 `$HALO_EXTERNAL_URL/console/`。忘记密码请参考[常见问题中的忘记密码章节](../user-guide/faq.md#忘记密码怎么办)进行处理。 ::: ### 界面说明 diff --git a/versioned_docs/version-2.0/user-guide/faq.md b/versioned_docs/version-2.0/user-guide/faq.md index f330d65..9f3be42 100644 --- a/versioned_docs/version-2.0/user-guide/faq.md +++ b/versioned_docs/version-2.0/user-guide/faq.md @@ -7,6 +7,56 @@ description: 使用上的常见问题 **Halo** [ˈheɪloʊ],是一款好用又强大的[开源建站工具](https://github.com/halo-dev/halo),配合上不同的模板与插件,可以很好地帮助你构建你心中的理想站点。它可以是你公司的官方网站,可以是你的个人博客,也可以是团队共享的知识库,甚至可以是一个论坛、一个商城。 +### 忘记密码怎么办? + +如果安装时没有指定 `HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD` 环境变量,系统会随机一个初始化密码,可以通过下面的命令进行查看。 + +```bash +docker logs halo | grep 'Generated random password:' | tail -1 +``` + +如果你已经修改过初始化密码后忘记了密码,假设系统中还有可用的具有用户管理权限的其他用户,可以通过该用户参考[修改用户密码](./users#修改用户密码)部分,修改指定用户的密码。没有可用的具有用户管理权限的管理员用户时,目前需要通过删除数据库记录的方式,触发管理员用户的初始化任务进行密码重置。 + +假设 Halo 使用容器方式运行,容器名称为 `halo`,具体操作如下。 + +1. 停止 Halo 服务 + + ```bash + docker stop halo + ``` + +2. 连接 Halo 使用的数据库,删除 admin 用户记录 + + 以容器化部署的 PostgreSQL 为例,假设容器名称为 `halo_db`。 + + ```bash + # 进入 psql 命令行 + docker exec -it halo_db psql halo + + # 执行下面的 SQL 删除 admin 用户记录 + delete from extensions where name like '/registry/users/admin'; + ``` + + :::info + 其他类型的数据库处理方式类似,先通过命令行或数据库连接工具连接到数据库后,再执行上面的 `delete` SQL 语句。 + ::: + +3. 重新启动 Halo 服务 + + ```bash + docker start halo + ``` + +4. 登录 Halo 控制台 + + 如果部署时通过 `HALO_SECURITY_INITIALIZER_SUPERADMINUSERNAME` 和 `HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD` 环境变量指定了初始化用户名和密码,使用该用户名密码登录控制台。 + + 如果未指定该配置,则默认用户名为 `admin`,默认密码将打印在 Halo 容器日志中,可以通过如下命令查看。 + + ```bash + docker logs halo | grep 'Generated random password:' | tail -1 + ``` + ### 为什么百度无法搜索到我的站点? 这是一个暂时无法解答的问题。所涉及到的问题过多,受影响因素可能有域名、服务器 IP 位置、建站时间、网站结构、内容等等。建议了解一下 SEO 相关知识对网站进行优化,目前我们在程序方面做的优化有: