无法初始化保管库

时间:2019-12-11 09:49:02

标签: hashicorp-vault

我正在尝试使用以下命令初始化Vault,并使用root用户运行命令, 还尝试了与“保险库”用户。 /etc/vault目录的所有者设置为Vault用户,但Vault用户也遇到相同的错误。

vault operator init > /etc/vault/config/init.file

但由于以下错误而失败

root@ip-172-31-65-238:~# vault operator init > /etc/vault/config/init.file 
Error initializing: Error making API request.

URL: PUT http://127.0.0.1:8200/v1/sys/init
Code: 400. Errors:

* failed to initialize barrier: failed to persist keyring: mkdir /etc/vault/data/core: read-only file system

我的保管库配置文件如下所示

listener "tcp" {
  address = "0.0.0.0:8200"
  tls_disable = "1"
}
api_addr = "http://127.0.0.1:8200"
storage "file" {
    path = "/etc/vault/data"
}
ui = true

我已经导出了如下环境变量

export VAULT_ADDR=http://127.0.0.1:8200

我的systemd文件如下所示

[Unit]
Description=vault service
Documentation=https://www.vaultproject.io/docs/
Requires=network-online.target
After=network-online.target
ConditionFileNotEmpty=/etc/vault/config/default.hcl

[Service]
User=vault
Group=vault
ProtectSystem=full
ProtectHome=read-only
PrivateTmp=yes
PrivateDevices=yes
SecureBits=keep-caps
AmbientCapabilities=CAP_IPC_LOCK
Capabilities=CAP_IPC_LOCK+ep
CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK
NoNewPrivileges=yes
ExecStart=/usr/local/bin/vault server -config=/etc/vault/config/default.hcl -log-level=info
ExecReload=/bin/kill --signal HUP \$MAINPID
KillMode=process
KillSignal=SIGINT
Restart=on-failure
RestartSec=5
TimeoutStopSec=30
StartLimitIntervalSec=60
StartLimitBurst=3
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

对此有任何帮助!

2 个答案:

答案 0 :(得分:1)

首先,检查您是否已创建保管库用户。否则,请更改服务文件中的用户。并更新 ProtectHome=read-write vaule。

[Service]
User=root
Group=root
ProtectSystem=full
ProtectHome=read-write

然后手动创建文件。

mkdir -p /etc/vault/data/core

答案 1 :(得分:0)

我没有关于您的环境的足够信息,但是您可能在文件权限方面存在一些问题。

有人在Google Cloud服务器中遇到了类似的问题-与丢失的“ read_write”服务帐户范围有关,如您在此处看到的:https://github.com/hashicorp/vault/issues/6085