====== 第十一章:用户管理 ======
原文链接:https://pve.proxmox.com/pve-docs/chapter-pveum.html
最后更新:2026-02-25
===== 概述 =====
Proxmox VE提供完整的用户和权限管理系统,支持多种认证方式和基于角色的访问控制(RBAC)。
===== 用户管理 =====
=== 用户概念 ===
* 用户ID - 用户名@域
* 认证域 - 用户来源
* 用户属性 - 详细信息
=== 创建用户 ===
通过Web界面:
1. 数据中心 → 权限 → 用户
2. 点击"添加"
3. 输入信息
4. 保存
=== 命令行 ===
pveum user add admin@pve --password
pveum user add john@ldap --realm ldap
===== 认证域 =====
=== 支持的认证域 ===
* Linux PAM - 系统用户
* Proxmox VE - 内置认证
* LDAP - 目录服务
* Active Directory - Windows域
* OpenID Connect - OAuth2/OIDC
=== 配置LDAP ===
pveum realm add ldap --base-dn "dc=example,dc=com" --server ldap.example.com
=== 配置AD ===
pveum realm add ad --domain example.com --server dc.example.com
=== 配置OpenID ===
pveum realm add oidc --issuer-url https://accounts.google.com --client-id XXXX
===== 用户组 ====
=== 创建组 ===
pveum group add developers
pveum group add admins
=== 添加用户到组 ===
pveum user modify john@pve --group developers
=== 组权限 ===
组权限可以批量分配,简化管理。
===== 角色 ====
=== 预定义角色 ===
* Administrator - 完全权限
* PVEAuditor - 只读
* PVEVMAdmin - VM管理
* PVEVMUser - VM用户
* PVEDatastoreAdmin - 存储管理
=== 自定义角色 ===
创建自定义角色:
pveum role add MyRole --privs "VM.Audit VM.PowerMgmt"
===== 权限管理 ====
=== 权限分配 ===
分配权限:
pveum acl modify /vms -user john@pve -role PVEVMAdmin
pveum acl modify /vms -group developers -role PVEVMUser
=== 权限路径 ===
* / - 数据中心
* /vms - 所有虚拟机
* /vms/100 - 特定虚拟机
* /storage - 存储
* /nodes - 节点
* /access - 访问管理
=== 权限继承 ===
* 路径继承
* 组继承
* 覆盖规则
===== API令牌 ====
=== 创建令牌 ===
pveum user token add john@pve mytoken
=== 使用令牌 ===
curl -H "Authorization: PVEAPIToken=john@pve!mytoken=UUID" https://pve:8006/api2/json/...
=== 令牌权限 ===
* 分离权限 - 独立权限
* 完全权限 - 继承用户权限
===== 双因素认证 ====
=== TOTP ===
时间一次性密码:
# 通过Web界面配置
=== U2F ===
通用第二因素:
# 通过Web界面配置
=== 恢复密钥 ===
一次性恢复密钥:
# 通过Web界面生成
===== 资源池 ====
=== 创建资源池 ===
pveum pool add mypool
=== 添加资源 ===
pveum pool add mypool --vms 100,101
pveum pool add mypool --storage local
=== 池权限 ===
pveum acl modify /pool/mypool -group developers -role PVEVMAdmin
===== 命令行工具 =====
=== pveum命令 ===
查看帮助:
pveum help
pveum help user add
=== 用户操作 ===
# 列表用户
pveum user list
# 修改用户
pveum user modify john@pve --enable 0
# 删除用户
pveum user delete john@pve
=== 组操作 ===
# 列表组
pveum group list
# 添加组
pveum group add newgroup
=== 权限操作 ===
# 列表权限
pveum acl list
# 修改权限
pveum acl modify /vms -user john@pve -role PVEVMUser
===== 最佳实践 =====
1. 使用组管理权限
2. 最小权限原则
3. 启用双因素认证
4. 定期审计权限
===== 示例场景 ====
=== 部门隔离 ===
创建部门组:
pveum group dev
pveum group sales
pveum acl modify /pool/dev-pool -group dev -role PVEVMAdmin
pveum acl modify /pool/sales-pool -group sales -role PVEVMAdmin
=== API访问 ===
创建API令牌:
pveum user token add monitoring@pve prometheus --privsep 1
pveum acl modify /vms -token 'monitoring@pve!prometheus' -role PVEAuditor
=== 审计用户 ===
审计权限:
pveum user permissions john@pve