# 用户

> 用户页面：工作站在这里决定每一块屏幕上登录的是谁、有哪些本地用户，以及由哪个角色决定他们各自可以做什么。

**用户**页面是本工作站的本地访问控制。它是导航栏工作组里的最后一项（View、Process、Logic、Connector、用户），在一栏里回答三个问题：**这块**屏幕上登录的是谁、本工作站有哪些本地用户，以及他们背后站着哪些角色。角色始终生效：没有登录本身就是一种身份，也就是**未登录**角色，所以既没有锁屏，也没有什么强制开关要打开。一台全新的工作站在无人登录的情况下开机就完全可用；治理是一个刻意的动作，就是从那个角色手里收走权限，再靠登录把它们拿回来。

这个页面对每一种身份都打开。它允许你改动什么，取决于一项权限：**管理本地用户**，只有 **Admin** 角色持有它。没有它，页面照样显示谁在登录，也照样提供进出的入口；用户和角色本身则留在一条通知后面。

## 左栏：工作站访问 {#the-column-station-access}

这一栏的标题是**工作站访问**，带着三个根节点。两个分支都是收起着到达的；打开你要找的那一个，或者用栏底的全部展开和全部收起命令。

| 根节点 | 后面跟着什么 | 打开之后是什么 |
| --- | --- | --- |
| 当前登录 | 这块屏幕上登录的那个名字，或者**无人**。 | 身份面板：这里登录的是谁、这块屏幕现在能做什么，以及登录、切换用户和退出登录这三个动词。见[当前登录](users-signed-in)。 |
| 用户 | 用户数量（只有管理员看得到）。 | 名册，每个本地用户一个子节点；每个子节点后面跟着它持有的角色。见[用户](users-local-users)。 |
| 角色 | 角色数量（只有管理员看得到）。 | 各个角色，一个角色一个子节点，顺序和面板一致：未登录、Admin，然后是可以编辑的那些；每个子节点后面跟着它那条紧凑的权限范围条。见[角色](users-roles)。 |

只有在这条回路上的身份持有“管理本地用户”时，用户和角色才有子节点。对别的人来说，这两个根节点照样留在栏里，没有数量也没有子节点，各自背后的面板会说明为什么它是空的。这样一来，管理员登录之前和之后，这个页面读起来是一样的。

页面打开时停在**当前登录**上。如果这台工作站还没有本地用户，它改为停在**用户**根节点上，因为那里唯一能做的事就是首次设置。

## 谁可以管理 {#who-may-manage}

管理用户和角色，需要一位**在这条回路上**登录的管理员：工作站自己的窗口看的是工作站会话，浏览器看的是那条连接上登录的用户。远程查看的人绝不会继承坐在试验台前的那位管理员。没有这项权限时，打开用户根节点、角色根节点，或者它们背后的任何一片叶子，看到的都是同一条通知：

> 请以管理员身份登录（在“当前登录”下，或者用标题栏上的用户小块），才能管理本工作站的用户和角色，包括“未登录”角色可以做什么。

这条通知什么都不列：它背后看不到任何用户，也看不到任何角色。这项权限在每一次绘制时都重新读取，所以管理员在这块屏幕上退出登录，名册立刻从栏里消失，背后那片仍被选中的叶子也不再作答。

## 首次使用 {#first-use}

一台没有本地用户的工作站，也没有可供登录的管理员，所以创建第一个用户对站在试验台前的任何人都是开放的。用户根节点上只有一张卡片，**用户**，上面是那段说明和一个强调按钮，**设置本地用户**。按下它就创建主管理员，名字叫 **Administrator**，在 Admin 角色上，没有 PIN，并在操作记录条里报出“主管理员已创建。”。创建本身不会让任何人登录：“当前登录”根节点后面仍然是**无人**，用户分支里一个人也不列，面板上显示的是[谁可以管理](#who-may-manage)里引用的那条通知。这位用户特别在哪里，见[用户](users-local-users#the-primary-administrator)。

下一步是以 **Administrator** 登录，用标题栏上的用户小块，或者在“当前登录”下。它没有 PIN，所以在登录窗口里轻触一下它的名字就登录了。从用户小块登录，页面停在用户根节点上，它现在列出突出显示并滚动到可见处的 **Administrator**；按它那一行就打开这位用户的面板，在那里给它起名并设 PIN。从“当前登录”登录，页面停在那个根节点上，**Administrator** 要从用户分支里打开。

名册还空着的时候，角色根节点从它那一侧说的是同一件事：角色已经预置好了，但修改角色需要管理员，而弄来一位管理员的办法，就是用户下面的那个主管理员。

## 新建…与栏底 {#new-and-the-column-footer}

栏底放着这个页面的命令，就在每一栏都把命令放着的那个角上。它只为管理员绘制；别的人根本看不到栏底。

| 命令 | 作用 | 什么时候变灰（情形） | 什么时候不画出来（角色） |
| --- | --- | --- | --- |
| 新建… | 打开一个菜单，里面是**新建用户**和**新建角色**。 | 这个页面画着的时候从不变灰（见下）。 | 身份没有“管理本地用户”。 |
| 新建用户（菜单项） | 创建一位名叫**新建用户**的用户，放在 Operator 角色上（如果那个预置角色还在；否则放在第一个既不是未登录也不是 Admin 的角色上；实在没有别的了才用 Admin），落在用户根节点上：用户分支在树里展开，页面上的列表把新的一行突出显示并滚动到可见处。这位用户不会被打开，要打开它的面板，用它那一行。操作记录条会点出这位用户落在哪个角色上，写着“已以 Operator 角色添加用户‘新建用户’。”；若这台工作站只剩 Admin 一个角色可以给，它就改写成“已以 Admin 角色添加用户‘新建用户’。这是本工作站仅剩的角色，拥有完全访问，包括管理用户。” | 这个页面画着的时候从不变灰。 | 同上。 |
| 新建角色（菜单项） | 创建一个名叫**新建角色**的角色，带着底线权限“查看仪表画面”和“向 Ganter 发送反馈”，说明为空，落在角色根节点上：角色分支在树里展开，页面上的列表把新的一行突出显示并滚动到可见处。这个角色不会被打开，要打开它的面板，用它那一行。操作记录条写着“已添加角色‘新建角色’。” | 这个页面画着的时候从不变灰。 | 同上。 |
| 全部展开 / 全部收起 | 打开或者关上两个分支。收起之后剩下那三个根节点。 | 两个分支下面都没有任何一行时；这时提示文字会说明原因（“全部展开：这一栏里还没有哪一行下面有内容。”）。只要栏底画出来了，这一页上就不会出现这种情况，因为未登录和 Admin 这两个固定角色总在角色下面。 | 与栏底同一条规则。 |

新建从不打开新建出来的东西。新建出来的一行会在列出它的页面（用户根节点或角色根节点）上突出显示，一直保留到你在栏里选了别的东西；按这一行就打开它的面板。没有什么窗口要先填：这一行从存在的那一刻起就归工作站保管，关于它的其余一切都在面板上设定，而面板边做边存。

## 详情栏 {#the-detail-bar}

详情栏只带一个动词，放在右边那组危险动作里，而且只有管理员选中了某位用户或者某个角色时才有：**移除用户**或者**删除角色**。两个都会先问一遍（“要移除‘{name}’吗？此操作无法撤销。”和“要删除角色‘{name}’吗？此操作无法撤销。”），把结果报到操作记录条上，并把选中项退回到分支的根节点。动词被拒绝时，它留在栏上、变灰，理由就是它的提示文字：

| 动词 | 什么时候变灰 |
| --- | --- |
| 移除用户 | 该用户已经不在本工作站上；该用户是主管理员（“主管理员必须保留：忘记管理员 PIN 时，正是它的恢复密钥能在登录界面上、无人登录的情况下把 PIN 重置。”）。 |
| 删除角色 | 该角色已经不在本工作站上；该角色是固定的（“{Name} 是固定角色：本工作站依赖它存在。”）；仍有用户持有它（“有用户持有这个角色。请先把他们改到别的角色。”）。 |

在树的某一行上点右键，会先选中这一行，并在光标处打开它的动词，和栏底、详情栏上带的是同一批：“用户”根节点给出**新建用户**，“角色”根节点给出**新建角色**，用户行给出**移除用户**，角色行给出**删除角色**。后两个会问和详情栏一样的确认，而且每逢详情栏会拒绝的时候，都带着和上表相同的理由变灰。“当前登录”不打开任何菜单，没有“管理本地用户”的身份在任何一行上都得不到菜单。

这个页面上没有哪一次改动是悄悄发生的。每一次写入、每一次拒绝都会报到操作记录条上，因为谁可以操作这台工作站，不是一件适合静悄悄改掉的事。

## 权限范围标尺 {#the-reach-ruler}

这个页面上的每一个角色都画成一条六个刻点的条带，工作站的每个功能区一个刻点，凡是出现这一条的地方顺序都相同：仪表画面、Connector、Process、历史、Logic、系统。读这条带子的图例只在详情栏的底部出现一次，无论打开的是哪个节点：**权限范围标尺**，四个刻度，**无权限**、**查看**、**操作**和**管理**。刻点填得越满，说明这个角色在那个功能区里走得越深。每个刻点背后确切的规则在[权限](users-permissions#the-reach-strip)页面上。

## 这个页面不做什么 {#what-the-page-does-not-do}

- 它从不停止运行时。访问控制只把住屏幕；采集、记录、逻辑扫描周期、报警和内置服务器，无论有没有人登录都照常运行。
- 运行时停止期间（免费模式的限制，见[订阅](account-subscription#free-mode-and-the-runtime-countdown)），这个页面无论在工作站窗口还是在任何浏览器里都根本不画出来：除了[账户](account)，每一块屏幕都被那条暂停通知顶替。登录和退出登录仍然可用，因为用户小块属于标题栏而不属于这个页面；运行时重新启动之后，这里的一切原样回来。
- 它是本机层面的管控，不是安全措施。PIN 是 4 到 6 位数字，而配置数据库，谁拿到文件就能绕开这里读出来。
- 它不提供按用户设定的权限：一位用户恰好持有一个角色，需要一套一次性的权限，就意味着要建一个新角色。
- 本工作站的在线 Ganter 账户、它的订阅和它那台授权工作站在[账户](account)页面上，不在这里。这台工作站在网络上到底够不够得着，是[远程访问](remote-access)那个设置；谁可以从那边使用它，则是这个页面上的“远程访问（局域网）”权限。
- 已发布的演示把这个页面从它的导航栏上拿掉：它的名册里只有一个封存的管理员，谁也登录不了。

## 本节内容 {#in-this-section}

| 页面 | 讲什么 |
| --- | --- |
| [当前登录](users-signed-in) | 这块屏幕上生效的身份、它的权限范围，以及进出的路。 |
| [用户](users-local-users) | 名册、用户面板（名称、角色、PIN）、主管理员和管理员 PIN 的恢复。 |
| [角色](users-roles) | 角色列表、带着权限开关的角色面板，以及那两个固定角色。 |
| [权限](users-permissions) | 完整的开关目录、连带规则，以及每一项权限在应用各处把住什么。 |
| [登录](users-signing-in) | 用户小块、登录窗口和 PIN 键盘、浏览器与远程访问，以及一次登录改变了什么。 |
