香港已接通:查看当前授权范围与后台入口

返回完整工作流 · 下载身份规范

模型、设备与维护者身份规范

版本 1.0 · 2026-09-21

状态:命名校验、配置化授权和兼容升级包已完成,34项隔离测试通过;大陆升级包待管理员安装和运行验证。旧版生产工具仍按原试点身份规则运行。香港已启用独立配置授权(见hk-policy.html),完整sudo权限没有收紧。本页不自动创建账号或发放权限。

一个人能看懂的名字,三个稳定编号

字段示例作用
modelgpt模型标签;不是模型提供商的身份认证
device_namezfold8便于识别的设备名称
display_namegpt@zfold8自动组合显示名,不直接作为权限依据
device_iddev-后接32位随机十六进制登记生成的逻辑设备编号,不采集IMEI、MAC或硬件序列号
owner_idusr-后接32位随机十六进制归属用户编号;与登录系统用户ID的绑定单独确认
maintainer_idmnt-后接32位随机十六进制模型与设备组合的稳定维护者编号,关联登记和授权
unix_account / unix_uid管理员建立的账号与实际UID工具核实的系统执行身份
key_fingerprintsSSH公钥的SHA256指纹清单管理员登记的凭证清单,不代表每次运行都已核验该密钥

设备名相同也可以区分:后台使用完整编号;界面应同时展示显示名和编号简称。只显示 gpt@zfold8 无法区分同名设备。

命名与生命周期

model 与 device_name 使用小写字母开头,后接小写字母、数字或连字符,共1至12字符。例如 gpt、gpt-6、claude、zfold8、office-pc。具体模型版本可在任务说明补充,不能把模型标签当作服务商证明。

新系统账号由规则生成:a-{model}-{device_id去掉dev-后的前12位}。例如模型gpt、设备编号dev-0123456789abcdef0123456789abcdef,生成 a-gpt-0123456789ab。新账号不使用@,方便常见Linux账号工具及SSH命令处理;界面仍显示 模型@设备。系统账号最长27字符,配置校验会拒绝账号、UID或同一模型设备组合重复。

现有 gpt、gpt@zfold8 不自动重命名。大陆升级配置显式保留 gpt@zfold8 / UID1002 的兼容映射;香港gpt仍按原规则运行。新身份不能使用旧账号命名例外。

设备改昵称:修改 device_name,保留 device_id;已有记录保留登记时的名字,新记录使用新名字。更换物理设备原则上建立新 device_id 和新密钥。设备逻辑编号可以复制,因此它不是硬件认证。

切换模型:同一设备可建立另一个 maintainer_id 和独立账号;不把两个模型的名字登记成同一个身份。多人共用账号或密钥时,仍无法证明实际是哪一个Agent执行。

owner_id 是独立编号,不伪装成飞书或微信用户ID。当前试点升级会建立“待管理员绑定实际用户”的逻辑归属条目;管理员核对后再记录真实登录绑定。不要把未核验的归属写成已实名认证。

配置化授权如何生效

大陆配置位置:/etc/njwl-maintenance/identities.json。只有管理员可写;维护者不能给自己加权限。配置含 users、devices、maintainers、projects 四张映射表,项目对应精确源码根目录。

每个维护者必须填写系统账号与实际UID、模型、设备编号、归属用户、启用状态、到期时间和项目能力:register / submit / publish / status / export。未知身份或未知能力默认拒绝。expires_at 为空表示无自动到期,填写时必须使用带时区的ISO时间。

工具每次启动核对真实 SUDO_USER、SUDO_UID 和系统账号UID,再读取管理员配置;每个项目操作检查对应能力。到期和停用从下一次调用生效,不自动终止已经开始的发布或已有SSH连接。

登记保存当时的 maintainer_id、显示名、设备编号、归属编号、账号和UID。提交与发布核对登记归属;旧记录没有新字段时按原账号和UID兼容,不回写旧历史。配置中的公钥指纹只是管理员清单,本版本不会把它冒充本次sshd认证日志证据。

导出只返回当前身份拥有且获准export的项目记录;多身份集中采集服务尚未提供。现有香港同步脚本不能直接拿不同身份的局部导出覆盖同一汇总文件,新增多身份采集需单独适配合并和权限策略。

管理员怎样新增一个维护者

1. 核验维护者、公钥、归属用户;生成独立 usr/dev/mnt 编号(UUID4十六进制),避免借用旧编号。已有同一设备可复用设备编号,但每个模型设备组合独立维护者身份。

2. 按上述规则生成系统用户名,创建Linux账号和authorized_keys,读取 id -u 的真实UID。不复制私钥,不加入sudo/docker组。

3. 复制现有身份配置到 /root/identities.next.json,填写新设备、维护者和项目能力。旧身份保留,需要撤销时设置 enabled=false。

4. 用管理员工具校验并应用配置(仅在本次升级安装后可用):

sudo /usr/bin/python3 -I /usr/local/lib/njwl-maintenance/identity_admin.py validate /root/identities.next.json
sudo /usr/bin/python3 -I /usr/local/lib/njwl-maintenance/identity_admin.py apply /root/identities.next.json

5. 为该系统账号配置精确的固定命令sudo规则,并用visudo校验。不要授权任意python、shell、docker或identity_admin.py。配置授权与sudo规则须同时满足;只有配置、没有命令权限仍不能执行。

6. 按验收清单测试正常调用、缺能力拒绝、他人编号拒绝、停用和到期。通过后再交接,不把配置文件存在当作验收。

identity_admin.py 只供管理员使用,保存配置前后摘要和本机回执,不自动同步到香港管理台。已有维护者的账号、UID、模型、设备与归属绑定不能被覆盖;迁移应新建身份并保留旧记录。设备昵称可以修改。

适用范围与当前限制

本次升级面向现有大陆电芯及Portal客户端工具。电芯发布器仍只部署固定电芯项目;其他项目要开发和验收对应适配器,不能仅添加项目名就执行任意发布命令。

通用新服务器安装包、管理台身份编辑界面、飞书/微信用户绑定、多身份审计汇总仍未交付。当前交付的是身份校验与授权配置代码、管理员校验/应用工具,以及现有大陆试点的兼容升级包。

完整sudo或直接生产写权限仍可绕过受控入口。命名、随机编号、管理员配置不能单独提供不可伪造的模型身份或硬件身份。