> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 用户管理

## 创建管理员用户

Overleaf Toolkit 部署：

```bash title="Overleaf Toolkit" wrap theme={null}
$ bin/docker-compose exec sharelatex /bin/bash -ce "cd /overleaf/services/web && node modules/server-ce-scripts/scripts/create-user --admin --email=joe@example.com"
```

旧版 docker-compose.yml 部署：

```bash title="Legacy docker-compose" wrap theme={null}
$ docker exec sharelatex /bin/bash -ce "cd /overleaf/services/web && node modules/server-ce-scripts/scripts/create-user --admin --email=joe@example.com"
```

如果使用所提供邮箱地址的用户尚不存在，该命令会创建该用户，并将其设为管理员。命令输出中包含一个 URL，你可以访问该 URL 为该用户设置密码并首次登录。

<Info>
  如果需要以编程方式操作，你可以使用同一脚本创建普通用户和管理员。创建普通用户时，请省略 --admin 标志。
</Info>

如果你使用内部账户进行认证，并且需要将现有用户提升为实例管理员或撤销其管理员权限，请执行以下操作：

<Steps>
  <Step title="通过管理 UI">
    * 以现有管理员身份登录。
    * 点击 Admin -> Manage Users。
    * 搜索该用户并点击其邮箱地址。
    * 向下滚动到 Site Admin 部分，然后点击 (show) 链接。
    * 勾选 Is Site Admin 复选框。
    * 点击 Save 完成操作。
  </Step>
</Steps>

***

## 删除用户

一般建议不要删除账户，除非确实不再需要。删除账户会移除该账户，并导致协作者失去对项目的访问权限。目前没有停用账户的方法——账户要么保留并保存其数据，要么被删除。

默认情况下，账户会被软删除。有关从实例中永久删除用户的信息，请参阅[环境变量](/zh-CN/on-premises/configuration/overleaf-toolkit/environment-variables)指南中的 `ENABLE_CRON_RESOURCE_DELETION`。

<Info>
  账户默认会被软删除。有关永久删除的行为，请参阅 `ENABLE_CRON_RESOURCE_DELETION`。
</Info>

### 通过 Admin -> Manage Users

<Steps>
  <Step title="">
    * 以管理员身份登录。
    * 点击 Admin -> Manage Users。
    * 搜索该用户，并勾选其邮箱地址旁边的复选框。
    * 点击垃圾桶图标。
    * 点击 Delete 进行确认。
  </Step>
</Steps>

### 通过命令行

可以使用以下命令删除用户账户（及其项目）。

Overleaf Toolkit 部署：

```bash title="Overleaf Toolkit" theme={null}
$ bin/docker-compose exec sharelatex /bin/bash -ce "cd /overleaf/services/web && node modules/server-ce-scripts/scripts/delete-user.mjs --email=joe@example.com"
```

旧版 docker-compose.yml 部署：

```bash title="Legacy docker-compose" theme={null}
$ docker exec sharelatex /bin/bash -ce "cd /overleaf/services/web && node modules/server-ce-scripts/scripts/delete-user.mjs --email=joe@example.com"
```

<Danger>
  删除脚本使用了一个硬编码的强制选项，确保即使账户删除邮件发送失败（例如用户的邮箱已停用），删除操作也会继续进行。
</Danger>

<Info>
  从 5.5.0 版本开始，可以使用 --skip-email 选项，避免向被删除的用户发送通知邮件。
</Info>

***

## 恢复被软删除的用户

如果用户只是被软删除，你可以恢复其账户和项目。

<Steps>
  <Step title="">
    * 以管理员身份登录。
    * 点击 Admin -> Manage Users。
    * 搜索你要恢复的用户。
    * 点击 Display deleted users 按钮。
    * 点击已删除用户的邮箱地址。
    * 点击 Recover This Account。
    * 点击 Recover 进行确认。
  </Step>
</Steps>

<Danger>
  当 ENABLE\_CRON\_RESOURCE\_DELETION 设置为 true 时，被软删除的账户可以在 90 天内恢复。超过 90 天后，将无法恢复账户。
</Danger>

***

## 统计用户数量

你可以通过管理 UI（[https://you-instance-url/admin/user#license）获取用户数量。对于以编程方式进行的检查和导出，以下示例可能会有所帮助。](https://you-instance-url/admin/user#license）获取用户数量。对于以编程方式进行的检查和导出，以下示例可能会有所帮助。)

用户总数：

```bash title="Total number of users" theme={null}
echo 'db.users.countDocuments()' | docker exec -i mongo mongosh --quiet localhost/sharelatex
# overleaf [direct: primary] sharelatex> 16
```

使用 metrics 端点获取用户总数：

```bash title="Num active users from metrics" theme={null}
docker exec sharelatex curl http://127.0.0.1:3000/metrics | grep num_active_users
# # HELP num_active_users num_active_users
# # TYPE num_active_users gauge
# num_active_users{app="web-api",host="b3ae4ff549d8"} 16
```

活跃用户总数（示例：过去 365 天内活跃的用户）：

```bash title="Total number of active users" theme={null}
echo 'db.users.countDocuments({ lastActive: { $gte: new Date(new Date().getTime() - (365 * 24 * 60 * 60 * 1000)) } })' | docker exec -i mongo mongosh --quiet localhost/sharelatex
# overleaf [direct: primary] sharelatex> 10
```

***

## 更新用户账户信息

账户信息的更新方式取决于是否启用了 SSO。

* 如果未使用 SSO：
  * 管理员可以通过 Admin -> Manage Users 修改用户账户信息（邮箱、名字、姓氏，以及生成密码重置链接）。
  * 普通用户可以通过 Account -> Account Settings 更新自己的信息（包括更改密码和生成 Git 认证令牌）。
* 如果使用了 SSO：
  * 可以将 Server Pro 配置为在登录时根据认证系统更新用户的名字和姓氏。
  * 当 OVERLEAF\_SAML\_UPDATE\_USER\_DETAILS\_ON\_LOGIN 或 OVERLEAF\_LDAP\_UPDATE\_USER\_DETAILS\_ON\_LOGIN 为 true 时，[https://your-instance-url/user/settings](https://your-instance-url/user/settings) 上的用户详细信息表单将被禁用，名字/姓氏只能在你的身份管理系统中设置。

更多详情请参阅：

* SAML 2.0 配置：[https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/saml-2.0](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/saml-2.0)
* LDAP 配置：[https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/ldap](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/ldap)

***

最后更新于 4 个月前

本文档页面包含指向外部指南和配置页面的链接。所有链接和查询参数均与原始内容保持一致。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.