elasticsearch-users编辑

如果您使用基于文件的用户身份验证,则 elasticsearch-users 命令使您能够添加和删除用户、分配用户角色以及管理每个节点的密码。

概要编辑

bin/elasticsearch-users
([useradd <username>] [-p <password>] [-r <roles>]) |
([list] <username>) |
([passwd <username>] [-p <password>]) |
([roles <username>] [-a <roles>] [-r <roles>]) |
([userdel <username>])

描述编辑

如果您使用内置的 file 内部领域,则用户在集群中每个节点上的本地文件中定义。

用户名和角色必须至少包含 1 个字符,最多包含 1024 个字符。它们可以包含字母数字字符 (a-z, A-Z, 0-9)、空格、标点符号和 基本拉丁语(ASCII)块 中的可打印符号。不允许前导或尾随空格。

密码必须至少包含 6 个字符。

有关更多信息,请参见 基于文件的用户身份验证

为了确保 Elasticsearch 可以在启动时读取用户和角色信息,请以与您运行 Elasticsearch 相同的用户身份运行 elasticsearch-users useradd。以 root 或其他用户身份运行该命令会更新 usersusers_roles 文件的权限,并阻止 Elasticsearch 访问它们。

参数编辑

-a <roles>
如果与 roles 参数一起使用,则将逗号分隔的角色列表添加到用户。
list
列出在本地节点上使用 file 领域注册的用户。如果您还指定了用户名,则该命令将提供该用户的相关信息。
-p <password>

指定用户的密码。如果您未指定此参数,则该命令会提示您输入密码。

省略 -p 选项以将纯文本密码排除在终端会话的命令历史记录之外。

passwd <username>
重置用户的密码。您可以使用 -p 参数直接指定新密码。
-r <roles>
  • 如果与 useradd 参数一起使用,则定义用户的角色。此选项接受逗号分隔的角色名称列表,以分配给用户。
  • 如果与 roles 参数一起使用,则从用户中删除逗号分隔的角色列表。
roles
管理特定用户的角色。您可以在同一个命令中组合添加和删除角色以更改用户的角色。
useradd <username>
将用户添加到本地节点。
userdel <username>
从本地节点中删除用户。

示例编辑

以下示例将名为 jacknich 的新用户添加到 file 领域。此用户的密码为 theshining,并且此用户与 networkmonitoring 角色相关联。

bin/elasticsearch-users useradd jacknich -p theshining -r network,monitoring

以下示例列出在本地节点上使用 file 领域注册的用户

bin/elasticsearch-users list
rdeniro        : admin
alpacino       : power_user
jacknich       : monitoring,network

用户位于左侧列,其对应角色列在右侧列。

以下示例重置 jacknich 用户的密码

bin/elasticsearch-users passwd jachnich

由于省略了 -p 参数,因此该命令会提示您以交互模式输入并确认密码。

以下示例从 jacknich 用户中删除 networkmonitoring 角色,并添加 user 角色

bin/elasticsearch-users roles jacknich -r network,monitoring -a user

以下示例删除 jacknich 用户

bin/elasticsearch-users userdel jacknich