配置用户、用户组和命令策略

您必须通过为用户配置帐户来定义用户。为了简化用户帐户的管理,您可以将它们组织成组。您可以创建命令策略或使用内置命令策略来规范用户对命令的访问。

您还可以为用户自定义命令行提示符。提示可以在用户的配置、用户组配置和全局系统配置设置中定义。为给定用户显示的提示由以下优先顺序决定:

  1. 显示用户配置中定义的提示。
  2. 显示用户组的组配置中定义的提示。
  3. 显示系统全局配置设置中定义的提示。

现在,您可以为系统用户的非活动 CLI 会话指定超时值。如果用户的 CLI 会话处于空闲状态超过超时值的时间,Citrix ADC 设备将终止连接。超时可以在用户的配置、用户组配置和全局系统配置设置中定义。用户的非活动 CLI 会话的超时时间由以下优先级顺序决定:

  1. 用户配置中定义的超时值。
  2. 在用户组的组配置中定义的超时值。
  3. 在全局系统配置设置中定义的超时值。

Citrix ADC 根管理员可以为系统用户配置最大并发会话限制。通过限制限制,您可以减少打开的连接数量并提高服务器性能。只要 CLI 计数在配置的限制内,并发用户可以任意次数登录 GUI。但是,如果 CLI 会话数达到配置的限制,用户将无法再登录 GUI。例如,如果并发会话的数量配置为 20,则并发用户可以登录到 19 个 CLI 会话。但是,如果用户登录到 20<sup>th</sup> CLI 会话,任何尝试登录到 GUI、CLI 或 NITRO 都会导致错误消息(错误:超过连接到 CFE 的限制)。

注意

默认情况下,并发会话的数量配置为 20,并发会话的最大数量配置为 40。

配置用户帐户

要配置用户帐户,只需指定用户名和密码即可。您可以随时更改密码和删除用户帐户。

使用命令行界面创建用户帐户

在命令提示窗口中,键入以下命令以创建用户帐户并验证配置:

  • add system user <username> [-externalAuth ( ENABLED | DISABLED )] [-promptString <string>] [-timeout \<secs>] [-logging ( ENABLED | DISABLED )] [-maxsession <positive_integer>]
  • show system user <userName>

其中日志记录选项适用于外部用户使用 Web 日志记录功能或审核日志记录机制在外部收集日志数据。如果启用,审核客户端将使用 Citrix ADC 进行身份验证,以便通过此用户帐户收集日志。

示例

> add system user johnd -promptString user-%u-at-%T

Enter password:

Confirm password:

> show system user johnd

user name: john

     Timeout:900 Timeout Inherited From: Global

     External Authentication: ENABLED

     Logging: DISABLED

     Maximum Client Sessions: 20

使用 GUI 配置用户帐户

导航到“系统”>“用户管理”>“用户”,然后创建用户。

配置用户组

配置用户组后,您可以轻松地向组中的所有人授予相同的访问权限。要配置组,请创建组并将用户绑定到组。您可以将每个用户帐户绑定到多个组。将用户帐户绑定到多个组可能会在应用命令策略时具有更大的灵活性。

使用命令行界面创建用户组

在命令提示窗口中,键入以下命令以创建用户组并验证配置:

  • add system group <groupName> [-promptString <string>] [-timeout <secs>]
  • show system group <groupName>

示例

> add system group Managers -promptString Group-Managers-at-%h

使用命令行界面将用户绑定到组

在命令提示窗口中,键入以下命令以将用户帐户绑定到组并验证配置:

  • bind system group <groupName> -userName <userName>
  • show system group <groupName>

示例

> bind system group Managers -userName user1

使用 GUI 配置用户组

导航到“系统”>“用户管理”>“”,然后创建用户组。

注意

要将成员添加到组,请在“成员”部分中单击“添加”。从“可用”列表中选择用户并将其添加到“已配置”列表中。

配置命令策略

命令策略规定允许用户和用户组使用的命令、命令组、虚拟服务器和其他实体。

设备提供一组内置命令策略,您可以配置自定义策略。要应用这些策略,您可以将它们绑定到用户和/或组。

以下是定义和应用命令策略时要牢记的要点。

  • 您无法创建全局命令策略。命令策略必须直接绑定到设备上的用户和组。
  • 没有关联命令策略的用户或组受默认 (DENY-所有) 命令策略的约束,因此在正确的命令策略绑定到其帐户之前,无法执行任何配置命令。
  • 所有用户都继承其所属组的策略。
  • 将命令策略绑定到用户帐户或组帐户时,必须为其分配优先级。这样,设备就可以确定当两个或多个冲突策略应用于同一用户或组时哪个策略具有优先级。
  • 默认情况下,以下命令可供任何用户使用,并且不受您指定的任何命令的影响:
  • help, show cli attribute, set cli prompt, clear cli prompt, show cli prompt, alias, unalias, history, quit, exit,whoami, config, set cli mode, unset cli mode, and show cli mode.

内置命令策略

下表介绍了内置策略。

表 1. 内置命令策略

策略名称 允许
read-only 对除show ns runningConfig、show ns ns.conf 以及 Citrix ADC 命令组的 show 命令以外的所有显示命令的只读访问权限。
operator 只读访问和访问命令以启用和禁用服务和服务器。
network 完全访问,除了设置和未设置的 SSL 命令,show ns ns.conf、show ns runningConfig 和 show gslb runningConfig 命令。
sysadmin [包含在 Citrix ADC 12.0 及更高版本中] 系统管理员低于超级用户是设备上允许的访问条款。系统管理员用户可以执行所有 Citrix ADC 操作,但以下例外情况:无法访问 Citrix ADC 外壳,无法执行用户配置,无法执行分区配置,以及系统管理员命令策略中所述的其他一些配置。
superuser 完全访问。与 nsroot 用户相同的权限。

创建自定义命令策略

对于具有维护更多自定义表达式的资源的用户,以及那些需要正则表达式提供灵活性的部署,正则表达式支持。对于大多数用户来说,内置命令策略就足够了。需要额外控制级别但不熟悉正则表达式的用户可能希望仅使用简单表达式(例如本节提供的示例中的表达式)来保持策略的可读性。

使用正则表达式创建命令策略时,请记住以下事项。

  • 使用正则表达式定义将受命令策略影响的命令时,必须将这些命令括在双引号中。例如,要创建包含以 show 开头的所有命令的命令策略,请键入以下命令:
  • “^show .*$”
  • 要创建包含以 rm 开头的所有命令的命令策略,请键入以下命令:
  • “^rm .*$”
  • 命令策略中使用的正则表达式不区分大小写。

下表列出了正则表达式的示例:

表 2. 命令策略的正则表达式示例

命令规范 匹配这些命令
“^rm\s+.*$” 所有删除操作,因为所有删除操作都以 rm 字符串开头,后跟空格和附加参数(如命令组、命令对象类型和参数)。
“^show\s+.*$” 所有 show 命令,因为所有 show 操作都以 show 字符串开头,后跟空格和附加参数(如命令组、命令对象类型和参数)。
“^shell$” 仅使用 shell 命令,但不与任何附加参数(如命令组、命令对象类型和参数)结合使用。
“^add\s+vserver\s+.*$” 所有操作都创建虚拟服务器操作,其中包括添加虚拟服务器命令后跟空格和附加参数(如命令组、命令对象类型和参数)。
“^add\s+(lb\s+vserver)\s+.*” 所有操作都创建 lb 虚拟服务器操作,其中包括 add lb 虚拟服务器命令后跟空格和附加参数(如命令组、命令对象类型和参数)。

有关内置命令策略的信息,请参阅内置命令策略表。

使用命令行界面创建命令策略

在命令提示窗口中,键入以下命令以创建命令策略并验证配置:

  • add system cmdPolicy <policyname> <action> <cmdspec>
  • show system cmdPolicy <policyName>

示例

> add system cmdPolicy read_all ALLOW (^shows+(!system)(!ns ns.conf)(!ns runningConfig).*)|(^stat.*)

使用 GUI 配置命令策略

导航到“系统”>“用户管理”>“命令策略”,然后创建命令策略。

将命令策略绑定到用户和组

定义了命令策略后,必须将它们绑定到相应的用户帐户和组。绑定策略时,必须为其分配优先级,以便设备可以确定在两个或多个适用的命令策略发生冲突时遵循的命令策略。

命令策略按以下顺序进行评估:

  • 将根据优先级编号对直接绑定到用户和相应组的命令策略进行评估。优先级较低的命令策略先评估优先级较高的命令策略。因此,编号较低的命令策略显式授予或拒绝的任何特权都不会被较高的命令策略覆盖。
  • 当两个命令策略(一个绑定到用户帐户,另一个绑定到组)具有相同的优先级号时,首先评估直接绑定到用户帐户的命令策略。

使用命令行界面将命令策略绑定到用户

在命令提示窗口中,键入以下命令以将命令策略绑定到用户并验证配置:

  • bind system user <userName> -policyName <policyName> <priority>
  • show system user <userName>

示例

> bind system user user1 -policyName read_all 1

使用 GUI 将命令策略绑定到用户

导航到“系统”>“用户管理”>“用户”,选择用户并绑定命令策略。

或者,您可以修改默认优先级,以确保以正确的顺序评估策略。

使用命令行界面将命令策略绑定到组

在命令提示窗口中,键入以下命令以将命令策略绑定到用户组并验证配置:

  • bind system group <groupName> -policyName <policyName> <priority>
  • show system group <groupName>

示例

> bind system group Managers -policyName read_all 1

使用 GUI 将命令策略绑定到组

导航到“系统”>“用户管理”>“”,选择组并绑定命令策略。

或者,您可以修改默认优先级,以确保以正确的顺序评估策略。

配置用户、用户组和命令策略