2.启用管理页面

circle-exclamation

该页面允许服务器管理员查看并删除所有已注册的用户。它也允许邀请新用户,即使禁用了注册功能。

要启用管理页面,您需要设置一组身份验证令牌。该令牌可以是任何字符,但建议使用随机生成的长字符串,比如运行 openssl rand -base64 48 命令生成。

此令牌是您访问服务器管理区域的密码!请确保其安全性。您该如何确保管理令牌的安全

要设置令牌,请使用 ADMIN_TOKEN 变量:

docker run -d --name vaultwarden \
  -e ADMIN_TOKEN=some_random_token_as_per_above_explanation \
  -v /vw-data/:/data/ \
  -p 80:80 \
  vaultwarden/server:latest

此后,管理页面将在 /admin 子目录中可用。

在管理页面首次保存设置时,将自动在 DATA_FOLDER 文件夹中生成 config.json 文件。该文件中的值优先于环境变量值。

需要注意的是,在您点击 Save 按钮之前,管理页面中的配置更改是不会生效的。例如,如果您正在测试 SMTP 设置,您更改了 SMTP Auth mechanism 设置,然后点击 Send test email 来测试更改,这将不会像预期的那样工作 -- 因为您没有点击 SaveSMTP Auth mechanism 的更改不会生效。

注意:更改 ADMIN_TOKEN 后,当前已登录的任何管理员仍可以使用他们现有的登录会话直到到期。管理会话生命周期是可配置的arrow-up-right,默认为 20 分钟。

禁用管理页面

要禁用管理页面,您必须取消设置 ADMIN_TOKEN 并重新启动 Vaultwarden。

注意:如果环境变量 ADMIN_TOKEN 的值持续保留在上述的 config.json 文件中,则移除环境变量 ADMIN_TOKEN 并不会禁用管理页面。要禁用管理页面,请确保没有设置 ADMIN_TOKEN 环境变量,并且 config.json(如果该文件存在)中不存在 "admin_token" 键。

保护 ADMIN_TOKEN

triangle-exclamation

以前 ADMIN_TOKEN 只能是纯文本格式。您现在可以使用 Argon2 通过生成 PHC 字符串arrow-up-right来对 ADMIN_TOKEN 进行哈希处理。这可以通过使用 Vaultwarden 中的内置 hash 命令或使用 argon2 CLI 工具生成。在 Vaultwarden 应用程序中,有两个预设,一个是使用 Bitwarden 默认arrow-up-right的,一个是使用 OWASP 推荐arrow-up-right的。

triangle-exclamation

有关如何生成 Argon2id PHC 哈希的一些示例。

使用 vaultwarden hash

Vaultwarden 中内置了一个 PHC 生成器,您可以通过 CLI vaultwarden hash 运行它。这可以通过已经运行的实例上的 docker exec 来完成,或者通过在您自己的系统上的 docker 在本地运行它。

下面使用 vwcontainer 作为容器名称,请将其替换为您的实例的实际容器名称。Vaultwarden CLI 会要求输入两次密码,如果两次相同,它将输出生成的 PHC 字符串。

示例:

使用 argon2

您还可以使用大多数 Linux 发行版上提供的 argon2 CLI。

请在您的 docker/podman CLI 命令中使用这些字符串。对于 docker-compose.yml 文件,请按照以下说明操作。如果您使用的是已有的设置,请不要忘记通过管理界面更新您的密码/令牌。

如何防止 docker-compose.yml 中的变量插值

使用 Docker Compose 并通过 environment 指令配置 ADMIN_TOKEN 时,您需要使用两个美元符号 $$ 来转义已生成的 argon2 PHC 字符串中出现的所有五个美元符号 $ 以防止变量插值arrow-up-right,例如:

这可以自动完成,例如通过添加 | sed 's#\$#\$\$#g' 到上面的 argon2 命令行的末尾。

否则您将收到警告消息并且变量将无法正确设置:

circle-info

docker-compose.yaml 使用 .env 文件时情况并非如此。如下所示。在这种情况下,只需使用单个 $ 变量。与使用 -e ADMIN_TOKEN 的 docker/podman cli 相同。

.env:

确保在 docker-compose 所使用的 env 文件中使用单引号。

docker-compose.yaml:

您可以通过调用 docker compose config 来检查您的配置,您应该会看到 $ 符号转义成了两个 $$

最后更新于