Olares 多用户与团队成员管理实战指南:创建账户、角色权限与资源配额全解析

发布时间:2026/10/16 1:46:19

Olares 多用户与团队成员管理实战指南:创建账户、角色权限与资源配额全解析 云原生后端运维【免费下载链接】TerminusOpen-Source Personal Cloud OS for Always-On Agents项目地址https://gitcode.com/gh_mirrors/terminus2/Terminus点击查看免费下载OlaresTerminus是一款开源的个人云操作系统其原生支持多用户协作管理员可以创建团队成员账户、分配角色与资源配额并随时回收访问权限。本文以 Olares 内置的设置 用户管理能力为主线完整讲解从创建账户、激活成员、分配角色到调整资源配额、重置密码、删除用户的全部操作并结合本仓库中 app-service 用户 API 实现 与 CLI 用户管理命令 的源码带读者看清每一项操作在底层是如何落地的。准备工作先理解三种角色与权限边界在动手创建任何用户之前请先明确 Olares 的三级角色体系。Olares 通过三种内置角色控制集群、共享资源和团队成员的管理权限详细矩阵见角色与权限角色定位关键权限超级管理员Super Admin / owner首位激活 Olares 的用户拥有完整系统控制权可创建、管理、删除管理员和成员管理员Admin / admin由超级管理员创建可管理系统和成员账户但无法创建、管理或删除其他管理员成员Member / normal由超级管理员或管理员创建使用个人资源与获准访问的共享资源不能执行集群级管理任务权限矩阵要点成员 → 管理员 → 超级管理员使用系统应用、通过 LarePass 访问 Olares、连接 Olares Space、自定义个人应用入口、安装普通应用、访问共享 Vault 等——三种角色均可管理 Vault 团队与共享 Vault、安装和管理共享应用、监控管理系统资源、配置加速器、更新 Olares、创建/编辑/删除成员——需管理员及以上创建、编辑和删除管理员——仅超级管理员。在源码层面角色通过 User 资源上的bytetrade.io/owner-role注解取值为owner/admin/normal记录见 templates.go。同时创建用户时若角色为 owner 或 admin会被追加到lldap_admin用户组从而获得管理权限见 handler_user.go。创建前需要满足的硬性条件开始管理团队成员前请确认权限你拥有 Olares 管理员Admin或超级管理员权限——只有超级管理员才能创建管理员。资源系统有足够的可用 CPU 与内存资源可供分配。Olares ID新成员已通过 LarePass 创建自己的 Olares ID。重要约束创建新用户时其 Olares ID 的域名部分必须与你的一致。Olares ID 由「本地名称 域名」组成如alice123olares.cn只有同一域下的身份才能加入你的集群。域名的具体创建方式见创建 Olares ID。从源码看这一约束体现在用户创建逻辑中当表单只填写本地名称时服务端会自动从 Terminus 的domainName设置中补齐域名拼成完整的namedomain形式作为该用户的 Email 与terminus-name注解见 handler_user.goOlaresName的拼装与解析实现在 utils.go。创建新用户从表单到激活凭据图形界面操作步骤进入设置用户页面。点击创建账户。在弹出的对话框中填写必填字段Olares ID仅输入本地名称不要带域名部分。角色Role选择成员或管理员只有超级管理员可以分配管理员角色。CPU分配 CPU 核心最低 1 核。内存分配内存最低 3GB。点击保存。创建完成后界面会为该 Olares ID 生成两组激活凭据请务必复制并安全转发给新用户激活向导 URLwizard URL一次性密码one-time password新用户拿到凭据后即可在浏览器中打开向导 URL 完成激活你可以随时回到用户页面查看其激活状态如wizard_complete字段。提示新用户无需本地安装 Olares即可通过激活向导完成激活。完整的远程加入流程创建 ID → 激活账号 → 登录见加入 Olares 集群。激活向导里发生了什么新成员拿到凭据后在浏览器打开向导 URL按顺序完成输入一次性密码 → 选择系统语言支持英语、简体中文、德语、西班牙语、意大利语、法语、日语→ 选择就近反向代理节点 → 使用 LarePass 扫描二维码完成激活并重置登录密码。详细步骤见激活 Olares。底层实现一次创建请求的完整落盘从源码看创建用户请求由 handler_user.go 中的createUser处理请求体UserCreateRequest结构如下type UserCreateRequest struct { Name string json:name // Olares ID 本地名称 OwnerRole string json:owner_role // owner / admin / normal DisplayName string json:display_name // 显示名可选 Email string json:email Password string json:password // 初始密码 Description string json:description // 描述可选 MemoryLimit string json:memory_limit // 内存配额如 3G CpuLimit string json:cpu_limit // CPU 配额如 1 }服务端会依次完成必填字段校验用户名、密码、内存、CPU、角色取值均不能为空或非法→ 拼接完整 Olares ID → 构建iam.kubesphere.io/v1alpha2的User资源。该资源携带的关键注解包括注解键含义bytetrade.io/owner-role角色owner / admin / normalbytetrade.io/terminus-name完整 Olares IDnamedomainbytetrade.io/user-memory-limit内存配额bytetrade.io/user-cpu-limitCPU 配额bytetrade.io/creator/bytetrade.io/deleter创建者 / 删除者记录bytetrade.io/is-ephemeral是否为需要临时域名的临时用户iam.kubesphere.io/sync-to-lldap同步到内置 LDAPlldap的开关随后控制器将用户同步至 lldap并触发用户命名空间与应用的初始化初始密码通过InitialPassword字段写入。配额与角色的注解常量统一定义在 users/templates.go。命令行方式创建进阶除图形界面外Olares CLI 也提供了完整的用户管理命令族见 cli/cmd/ctl/user/root.go。创建用户的命令为详见 create.goolaresctl user create alice \ --role normal \ --memory-limit 4G \ --cpu-limit 2 \ --display-name Alice \ --description backend team member参数说明--role/-rowner / admin / normal默认normal--memory-limit/-m内存配额默认3G不得低于该下限--cpu-limit/-cCPU 配额默认1不得低于该下限--domain显式指定域名缺省时自动读取系统domainName设置--password/-p初始密码缺省时自动生成 8 位随机密码并打印在终端--kubeconfig指定 kubeconfig 路径可选。底层配额下限由 utils.go 中的validateResourceLimit强制执行与 UI 的最低 1 核 / 最低 3GB完全一致。删除用户先备份再移除删除用户是不可逆操作请务必确保用户在删除前已备份重要数据——部分数据无法恢复。图形界面操作步骤进入设置用户页面。点击要删除的用户进入其用户详情页。滚动到页面底部点击删除用户。在弹出的确认对话框中点击确定。删除操作的两条底层保护源码层面的deleteUser处理器handler_user.go内置了两条安全保护UI 与 CLI 均遵守owner 不可删除若目标用户注解中的角色为owner直接返回 403 Forbidden——超级管理员首位激活用户的账户不能被移除。创建中的用户不可删除若用户状态仍为Creating拒绝删除并提示稍后重试。此外删除请求会先把当前管理员记录到bytetrade.io/deleter注解中审计追溯随后才真正删除 User 资源。CLI 端的删除命令olaresctl user delete alice同样实现了这两条校验见 delete.go。管理资源配额动态调整 CPU 与内存随着团队规模或负载变化管理员可以随时调整分配给成员的资源额度无需重建账户。图形界面操作步骤进入设置用户页面。点击需要调整配额的用户。在用户信息页面滚动到底部点击修改限制。在对话框中调整CPU与内存配额。点击确定应用更改。配额校验的下限逻辑调整配额时系统会校验新值不能低于环境变量USER_DEFAULT_CPU_LIMIT与USER_DEFAULT_MEMORY_LIMIT指定的默认下限对应最低 1 核 / 最低 3GB。校验实现见handleUpdateUserLimitshandler_user.go以及独立的ValidateResourceLimitsutils.gomemory, err : resource.ParseQuantity(userResourceLimits.MemoryLimit) cpu, err : resource.ParseQuantity(userResourceLimits.CpuLimit) defaultMemoryLimit, _ : resource.ParseQuantity(os.Getenv(USER_DEFAULT_MEMORY_LIMIT)) defaultCpuLimit, _ : resource.ParseQuantity(os.Getenv(USER_DEFAULT_CPU_LIMIT)) if defaultMemoryLimit.Cmp(memory) 0 { // 报错内存下限不足 } if defaultCpuLimit.Cmp(cpu) 0 { // 报错CPU 下限不足 }配额最终以bytetrade.io/user-memory-limit与bytetrade.io/user-cpu-limit两个注解写回 User 资源后续资源调度组件会据此为成员的应用设置资源限制。命令行方式调整olaresctl user update-limits alice --memory-limit 8G --cpu-limit 4该命令update.go至少需要提供内存或 CPU 中的一个参数同样先经validateResourceLimit校验下限再写回对应注解。查看用户与配额CLI 提供get与list两个查看命令见 get.go 与 list.golist以表格输出用户名、角色、状态、创建时间、是否完成激活、内存与 CPU 配额olaresctl user list olaresctl user get alice表格中ACTIVATED列对应wizard_complete字段——它由注解bytetrade.io/wizard-status的取值completed或wait_reset_password决定见 handler_user.go。这正是你在 UI 用户列表页判断新用户是否已完成激活的底层依据。重置密码即时生成新密码当成员忘记密码或怀疑凭据泄露时管理员可以一键重置。图形界面操作步骤进入设置用户页面。点击需要重置密码的成员。在用户信息页面向下滚动点击重置密码系统会即刻生成一个新密码。将新密码分享给该用户。CLI 强制重置CLI 提供了通过 auth-provider 强制重置密码的能力见 reset_password.goolaresctl user reset-password alice --password NewPassw0rd!该命令的底层实现很有代表性它先为os-framework命名空间下的olares-cli-sa服务账户签发 1 小时有效的短期 Token再调用auth-provider-svc服务的/cli/api/reset/{user}/password接口完成重置密码以MD5(密码 Olares2025)的形式加盐后传输。常见问题排查为什么我无法创建新用户按以下顺序排查角色权限不足必须是超级管理员才能创建管理员必须是超级管理员或管理员才能创建成员。新成员未创建 Olares ID先请对方在 LarePass 中完成 Olares ID 创建流程见创建 Olares ID。名称拼写错误检查输入的本地名称拼写是否正确服务端会校验名称必须符合 DNS 子域名规范。系统资源不足确认集群还有足够可分配的 CPU 与内存低于默认下限 1 核 / 3GB 的配额请求会被拒绝。我能否删除超级管理员账户不能。owner角色账户受保护删除请求会被服务端明确拒绝HTTP 403CLI 也会报错cannot delete user ... with role owner。新用户如何远程加入而不接触设备管理员把激活向导 URL 一次性密码转发给新成员后对方在任意浏览器打开向导即可在线完成激活全程无需安装 Olares 或触碰物理设备详见加入 Olares 集群。结语一套从 UI 到源码自洽的团队管理方案从本文可以看到Olares 的团队管理并非孤立的界面功能而是由一套完整的后端体系支撑iam.kubesphere.io/v1alpha2的 User 资源承载身份与角色注解app-service 提供 REST APIhandler_user.goCLI 命令与之共享同一套资源模型与校验逻辑cli/cmd/ctl/user配额与身份信息则通过注解驱动 lldap 同步与资源调度。无论你是通过设置 用户页面操作还是在脚本中用olaresctl user命令批量管理底层行为完全一致这也让团队管理的自动化与审计成为可能。赞分享云原生后端运维【免费下载链接】TerminusOpen-Source Personal Cloud OS for Always-On Agents项目地址https://gitcode.com/gh_mirrors/terminus2/Terminus点击查看免费下载相关推荐xyOps 用户与角色权限体系实战指南账户管理、有效权限计算与资源隔离xyOps 用户与角色权限体系实战指南账户管理、有效权限计算与资源隔离 本文围绕 xyOps 的 Users and Roles 文档 https://linOlares 角色与权限体系成员、管理员与超级管理员详解Olares 角色与权限体系成员、管理员与超级管理员详解 Olares 是面向 Always On Agents 的开源个人云操作系统通过一套内置的三级角色云原生后端运维Taskcafe权限管理完全解析团队成员角色与权限设置的最佳实践Taskcafe权限管理完全解析团队成员角色与权限设置的最佳实践 Taskcafe作为一款优秀的开源项目管理工具其强大的权限管理系统是确保团队协作高效安全的后端前端上一篇3步解决macOS Sequoia Beta中OBS虚拟摄像头安装失败的完整指南下一篇解决Astro项目GitHub Pages部署的静态资源路径难题创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/16 1:41:19

在metashape中使用反射率标定板为多光谱数据校准

一、光谱数据导入首先删除多光谱数据中的rgb图像,并把拍摄的多光谱标定板图像也放入文件夹中打开metashape导入文件夹添加照片面板中,选择多光谱选项图像导入完成二、反射率标定板配置1.找到反射率面板打开工具菜单并选择 Calibrate Reflectance 选项&am…

2026/10/16 5:41:32

弱监督语义分割新范式:端到端粗到细网络WCESN解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 5:41:32

pigz并行压缩:让gzip多线程加速,备份与日志处理效率倍增

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 5:41:32

告别收藏吃灰:学习资源筛选与高效使用指南

看到“全网最全学习资源合集”这种标题,我的第一反应不是点进去收藏,而是先判断它到底值不值得。做了这么多年内容整理和自学规划,我见过太多打着“最全”旗号的资源包,标题一个比一个响亮,打开以后发现要么是重复搬运…

2026/10/16 5:41:32

Solidity收款合约接入Chainlink预言机:实现美元计价ETH收款

最近有个做业务系统的朋友问我,想做一个接受加密货币付款的页面,合约应该怎么写。我说这事儿看着简单,真正动手你会发现,一个能在生产环境里用的收款合约,要操心的事情比想象中多得多:怎么接收以太币、怎么…

2026/10/16 5:41:32

PPO算法实战:手把手调出稳定月球着陆器

1. 项目概述:这不是教科书里的PPO,是亲手调出能稳稳落地的月球着陆器“浅谈PPO算法-玩转月球登陆”——光看标题,你可能以为这是某篇泛泛而谈的强化学习科普文。但实际操作过的人知道,这六个字背后,是一场从理论公式到…

2026/10/16 5:36:32

用 N_m3u8DL-RE 完整下载 DASH/HLS 流媒体

用 N_m3u8DL-RE 完整下载 DASH/HLS 流媒体 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE N_m3u8DL-RE 是一款 …

2026/10/16 5:33:43

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/16 4:03:48

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/15 13:42:16

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/16 0:01:11

Cephadm实战指南:Linux系统工程师的生产级Ceph集群部署与排障

简介:本资源是一份完整的Ceph分布式存储系统中文技术文档合集,面向Linux系统运维工程师、云平台架构师及存储方向开发者,帮助读者系统掌握Ceph集群的部署、配置与运维核心能力。文档覆盖对象存储(RGW)、块设备&#xf…

2026/10/16 0:01:11

ITK中SpatialObject几何体系解析:坐标系、变换与管道集成

1. 空间对象的定位:为什么 ITK 需要一套几何描述体系很多刚开始接触 ITK 的朋友,包括我自己,最初都是被它的图像滤波、配准、分割这些“正统”功能吸引进来的。等真正上手做点实际项目,比如把分割出来的器官边界做量化分析、给血管…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑