PVE-用户管理
Users
PVE 将用户的属性信息存放在 /etc/pve/user.cfg
文件中 (不包括密码).
用户在 PVE 内部通常靠 <userid>@<realm>
来识别 (这里的 realm
指验证的来源或身份验证域)
区分 disable 和 delete a user.
Groups
一个用户可以所属多个组, 在给用户分配权限时, 优先采用分配组的方式, 而不是单独给用户添加.
API Token
和 Github 的 token 类似, 提供一种不直接使用用户名和密码的方式访问 PVE, 一般用于外部应用程序或脚本.
Resource Pools (资源池)
指一组 virtual machine, containers, and storage devices.
可以控制用户访问某一特定资源的权限.
Authentication Realms
Realms (Authentication methods) 的信息在 /etc/pve/domains.cfg
文件中配置.
可用的 realms 有:
- Linux PAM Standard Authentication
- Proxmox VE Authentication Server
- LDAP
- Microsoft Active Directory (AD)
- OpenID Connect
基于这个机制, 可以创建同名用户, 但有不同的 realm.
Permission Management
PVE 的权限管理是基于 role 和 path.
控制 a user, group or token 访问 object 和 path 的权限.
一个 access rule 可以被写为: (path, user, role)
, (path, group, role)
, 或 (path, token, role)
Roles
Role 是一系列 privileges 的集合.
PVE 中有很多预定义的 roles, 也可以自定义 role 来包含想提供的权限.
privileges
PVE 中的 privileges 不能直接分配给 users 和 paths, 需要配合 role 使用.
Objects and Paths
Objects 指 virtual machines, storages, 或 resource pools.
命令行工具
pveum
(Proxmox VE User Manager)
查看具体参数的 help
页面:
1 |
|
创建用户:
1 |
|
(这里的 @pve
指身份验证域, 这里为本地)
修改用户密码:
1 |
|
Disable 一个用户:
1 |
|
创建一个 group:
1 |
|
创建一个 role:
1 |
|
用户添加组:
1 |
|
官方示例
1 |
|
acl
是访问控制列表 (Access Control List) 的缩写。用于控制对象的访问权限.
/
表示要修改的对象是根目录。根目录是 PVE 中的顶级对象,表示整个数据中心或集群。通过对根目录的 ACL 进行修改,可以设置对整个数据中心或集群的访问权限。
-group admin
指定要修改的 ACL 中的组为 admin 组。该组可能是您预先创建的一个组,或者是系统中已存在的特定组。
-role Administrator 指定要将该组的角色设置为 Administrator。这意味着 admin 组的成员将具有管理员角色的权限,可以执行所有操作,包括创建、修改和删除虚拟机、存储和网络,以及管理用户和权限设置。
让用户只读
1 |
|
只读虚拟机:
1 |
|