gpt4 book ai didi

linux - 使用 CentOS 使用 Elasticsearch keystore 时出现权限问题?

转载 作者:行者123 更新时间:2023-12-03 02:36:34 25 4
gpt4 key购买 nike

我是一个 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

我已遵循此处的建议,但并没有改变结果:

[无法创建临时 keystore ][1]

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

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

最佳答案

我能够解决这个问题。

当我运行时

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"'

关于linux - 使用 CentOS 使用 Elasticsearch keystore 时出现权限问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58829151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com