【问题标题】:Permission issue while working with elasticsearch keystore using CentOS?使用 CentOS 使用弹性搜索密钥库时出现权限问题?
【发布时间】:2019-11-13 20:28:55
【问题描述】:

我是一个 Linux 菜鸟,我想了解为什么我在 sudo 时遇到权限错误。我正在 Virtual Box VM 中的 CentOS 7 上使用 Vagrant。

我正在尝试为 elasticsearch 设置初始引导密码。我正在尝试使用以下命令而不是交互模式来执行此操作,因为我希望能够将命令添加到 ansible 游戏中。

当我以当前用户身份或使用 sudo 运行命令时

sudo printf "topsecret" | /usr/share/elasticsearch/bin/elasticsearch-keystore add "bootstrap.password"

我收到以下错误:

Enter value for bootstrap.password: ERROR: unable to create temporary keystore at [/etc/elasticsearch/elasticsearch.keystore.tmp], please check filesystem permissions

二进制文件的权限:

-rwxrw-r-x. 1 elasticsearch elasticsearch     1954 Oct 28 20:55 elasticsearch
-rwxrw-r-x. 1 elasticsearch elasticsearch      491 Oct 28 20:45 elasticsearch-certgen
-rwxrw-r-x. 1 elasticsearch elasticsearch      483 Oct 28 20:45 elasticsearch-certutil
-rwxrw-r-x. 1 elasticsearch elasticsearch      982 Oct 28 20:55 elasticsearch-cli
-rwxrw-r-x. 1 elasticsearch elasticsearch      433 Oct 28 20:45 elasticsearch-croneval
-rwxrw-r-x. 1 elasticsearch elasticsearch     2149 Oct 28 20:55 elasticsearch-env
-rwxrw-r-x. 1 elasticsearch elasticsearch      121 Oct 28 20:55 elasticsearch-keystore
-rwxrw-r-x. 1 elasticsearch elasticsearch      440 Oct 28 20:45 elasticsearch-migrate
-rwxrw-r-x. 1 elasticsearch elasticsearch      126 Oct 28 20:55 elasticsearch-node
-rwxrw-r-x. 1 elasticsearch elasticsearch      172 Oct 28 20:55 elasticsearch-plugin
-rwxrw-r-x. 1 elasticsearch elasticsearch      431 Oct 28 20:45 elasticsearch-saml-metadata
-rwxrw-r-x. 1 elasticsearch elasticsearch      438 Oct 28 20:45 elasticsearch-setup-passwords
-rwxrw-r-x. 1 elasticsearch elasticsearch      118 Oct 28 20:55 elasticsearch-shard
-rwxrw-r-x. 1 elasticsearch elasticsearch      427 Oct 28 20:45 elasticsearch-sql-cli
-rwxrw-r-x. 1 elasticsearch elasticsearch 19028621 Oct 28 20:45 elasticsearch-sql-cli-7.4.2.jar
-rwxrw-r-x. 1 elasticsearch elasticsearch      426 Oct 28 20:45 elasticsearch-syskeygen
-rwxrw-r-x. 1 elasticsearch elasticsearch      426 Oct 28 20:45 elasticsearch-users
-rwxrw-r-x. 1 elasticsearch elasticsearch      346 Oct 28 20:45 x-pack-env
-rwxrw-r-x. 1 elasticsearch elasticsearch      354 Oct 28 20:45 x-pack-security-env
-rwxrw-r-x. 1 elasticsearch elasticsearch      353 Oct 28 20:45 x-pack-watcher-env

/etc/elasticsearch 目录的权限:

-rwxrw-r-x. 1 root elasticsearch   232 Nov 13 01:03 elasticsearch.keystore
-rwxrw-r-x. 1 root elasticsearch  3110 Nov 12 23:20 elasticsearch.yml
-rwxrw-r-x. 1 root elasticsearch  2915 Nov 12 07:26 elasticsearch.yml.j2
-rwxrw-r-x. 1 root elasticsearch  3691 Nov 12 08:46 jvm.options
-rwxrw-r-x. 1 root elasticsearch 17545 Oct 28 20:55 log4j2.properties
-rwxrw-r-x. 1 root elasticsearch   473 Oct 28 20:55 role_mapping.yml
-rwxrw-r-x. 1 root elasticsearch   197 Oct 28 20:55 roles.yml
-rwxrw-r-x. 1 root elasticsearch     0 Oct 28 20:55 users
-rwxrw-r-x. 1 root elasticsearch     0 Oct 28 20:55 users_roles

我知道我是否跑步

sudo -i

然后运行我的命令我没有收到错误。

printf "topsecret" | /usr/share/elasticsearch/bin/elasticsearch-keystore add "bootstrap.password"

我想了解为什么 sudo -i 有效但 sudo 无效? 是否可以运行此命令而无需使用 sudo -i

我遵循了这里的建议,但并没有改变结果:

[无法创建临时密钥库][1]

[在此处输入链接描述][2]

如果您需要更多信息,请告诉我。

【问题讨论】:

    标签: linux elasticsearch centos


    【解决方案1】:

    我能够解决这个问题。

    我跑步的时候

    sudo printf "topsecret" | /usr/share/elasticsearch/bin/elasticsearch-keystore add "bootstrap.password"
    

    printf "topsecret" 正在使用 sudo 执行,/usr/share/elasticsearch/bin/elasticsearch-keystore add "bootstrap.password" 正在以普通用户身份执行。

    我将命令更改为下面的命令,它以 sudo 执行子 shell。

    sudo bash -c 'printf "topsecret" | /usr/share/elasticsearch/bin/elasticsearch-keystore add "bootstrap.password"'
    

    【讨论】:

      猜你喜欢
      • 2023-02-06
      • 2023-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      • 1970-01-01
      • 2012-05-23
      相关资源
      最近更新 更多