本地账户
内置管理员,以及保存在 AnsibleForms 数据库中的用户和组
内置管理员
每次启动时,如果本地 admins 组和管理员用户不存在,就会创建它们;有三个变量控制管理员:
| 变量 | 默认值 | 含义 |
|---|---|---|
ADMIN_USERNAME | admin | 管理员的用户名;当没有同名用户时,在 admins 组中创建。 |
ADMIN_PASSWORD | AnsibleForms!123 | 创建(或重置)管理员时为其设置的密码。 |
REINIT_ADMIN | 0 | 设为 1 时,将管理员密码重置为 ADMIN_PASSWORD,并把管理员重新加入 admins。 |
ADMIN_PASSWORD 只在创建或重置用户时使用:之后单独修改它不会产生任何效果。
使用公开的默认密码 AnsibleForms!123 登录的本地用户只能修改密码。浏览器会打开一个 无法关闭的修改密码页面,在密码修改之前,服务器对其他所有请求都返回 403(代码 password_change_required)。新密码必须与默认密码不同;修改之后,用户需使用新密码重新登录。 在首次启动前将 ADMIN_PASSWORD 设为您自己的值,即可跳过这一步。
首次启动后再修改 ADMIN_USERNAME,会以新名称创建第二个管理员用户;原来的用户仍会保留。
只要设置了
REINIT_ADMIN=1,每次 启动都会重置密码。请用它来找回丢失的管理员密码, 然后将其删除并重启。
用户和组
本地用户和组在 访问 > 用户 和 访问 > 组 下管理。用户包含以下字段:
| 字段 | 含义 |
|---|---|
| 用户名 | 登录名。必须唯一。 |
| 描述 | 可选。 |
| 密码 | 以哈希形式保存。之后可通过 修改密码 操作修改。 |
| 电子邮件 | 可选。 |
| 组 | 用户的第一个本地组。可在用户页面的 组 选项卡中添加更多组。 |
本地用户在自己的个人资料中修改密码;其他用户则在其目录服务或身份提供商中修改。
一个用户可以属于多个组,并获得所有这些组的角色。用户页面的 组 选项卡可以添加和 移除组,组页面的 用户 选项卡也可以。用户至少要保留一个组:最后一个组无法 移除。
仍有用户的组无法删除:请先移除其中的用户。admins 组永远不能被删除或 重命名,用户 admin 也永远不能被删除。
允许登录
用户页面的 详情 选项卡中有一个 允许登录 开关,在用户列表的行菜单中也以 阻止登录 和 允许 登录 的形式提供。本地用户以及 LDAP 和 SSO 用户都有该开关:
- 开:用户照常登录。
- 关:用户的会话会立即结束,所有登录都会被拒绝,直到管理员重新打开它。页面 会先请求确认。
不能为用户 admin(作为恢复访问的途径)关闭该开关,管理员也不能为自己的账户关闭它。 LDAP 或 SSO 用户的页面上还有 结束会话,它会让该用户在所有地方退出登录,但不会阻止其登录。
映射到角色
角色以 local/<group> 指定本地组,以 local/<user> 指定用户;默认情况下,admins 获得 admin:
roles:
- name: admin
groups:
- local/admins
- name: operator
groups:
- local/operators
users:
- local/svc-backup
请在 admin 角色中保留 local/admins,这样即使目录服务或身份提供商不可用,内置管理员也始终可以登录。 当 config.yaml 完全无法加载时,local/admins 的成员仍会获得 admin 角色,以便您登录并修复它。 角色选项参见 角色。
本地账户与 LDAP
用户名和密码登录会先检查本地用户,再检查 LDAP。当本地用户与目录用户同名时,本地账户始终优先, 该名称无法使用目录密码登录。请为本地账户取不会与目录账户冲突的名称,例如加上 svc- 前缀。