首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用CentOS处理elasticsearch密钥库时出现权限问题?

使用CentOS处理elasticsearch密钥库时出现权限问题?
EN

Stack Overflow用户
提问于 2019-11-13 09:42:40
回答 1查看 682关注 0票数 0

我是一个Linux新手,正在尝试理解为什么我在sudo时遇到权限错误。我在CentOS 7上的Virtual Box VM中使用Vagrant。

我正在尝试为elasticsearch设置初始引导密码。我正在尝试使用下面的命令,而不是交互模式,因为我希望能够将该命令添加到ansible play中。

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

代码语言:javascript
运行
复制
sudo printf "topsecret" | /usr/share/elasticsearch/bin/elasticsearch-keystore add "bootstrap.password"

我收到以下错误:

代码语言:javascript
运行
复制
Enter value for bootstrap.password: ERROR: unable to create temporary keystore at [/etc/elasticsearch/elasticsearch.keystore.tmp], please check filesystem permissions

二进制文件的权限:

代码语言:javascript
运行
复制
-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目录的权限:

代码语言:javascript
运行
复制
-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

我知道如果我跑了

代码语言:javascript
运行
复制
sudo -i

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

代码语言:javascript
运行
复制
printf "topsecret" | /usr/share/elasticsearch/bin/elasticsearch-keystore add "bootstrap.password"

我想知道为什么sudo -i可以工作而sudo不能工作?是否可以在不使用sudo -i的情况下运行此命令

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

无法创建临时密钥库

在此处输入链接描述

如果你需要更多的信息,请让我知道。

EN

回答 1

Stack Overflow用户

发布于 2019-11-13 20:28:55

我能够解决这个问题。

当我在跑步的时候

代码语言:javascript
运行
复制
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。

代码语言:javascript
运行
复制
sudo bash -c 'printf "topsecret" | /usr/share/elasticsearch/bin/elasticsearch-keystore add "bootstrap.password"'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58829151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档