哪个权限既不太开放又不太模糊?

哪个权限既不太开放又不太模糊?

让我向您解释一下问题:

我们需要一个 rsfile.key。

mkdir keys
openssl rand -base64 768 > rsfile.key

rskey.file权限不能太开放,如果太开放,MongoDB 将无法启动。我们必须将 rskey.file 移动到 Docker,因此 Docker 必须访问 rskey.file。首先设置 chmod 600。

sudo chmod 600 ./keys/

这不起作用。 MongoDB 拒绝工作,因为权限过于开放。也许是因为所有权? MongoDB 在 Docker 容器中通常使用 999。

sudo chown 999:999 ./keys/rsfile.key 

然后,MongoDB 可以访问该文件,但 Docker 由于权限更加模糊而无法将文件移动到容器。如果我们不这样做chown 999:999,MongoDB 将无法访问该文件,但 Docker 可以将文件移动到容器中。

如果我们设置文件夹而不是文件的所有权,并让 Docker 将文件夹移动到容器中,

sudo chmod 0444 ./keys/

这又不起作用了。 docker 内的 MongoDB 无法读取只读文件夹内的文件。

#!/bin/bash

mkdir keys
openssl rand -base64 768 > rsfile.key
sudo cp rsfile.key ./keys/rsfile.key
sudo chmod 0444 ./keys/
sudo chown 999:999 ./keys/rsfile.key
# Start MongoDB service
docker-compose up -d
  mongodb:
    container_name: mongodb 
    ...
    volumes:
      - ./container-data/mongo/db:/data/db
      - ./keys/:/etc/mongodb/pki/

我应该在这里做什么?

答案1

该目录需要可访问:

chmod 700 keys

这将使密钥文件在容器内可见。那么需要限制文件本身的权限:

chmod 600 keys/rsfile.key

请注意,Docker 不会移动或复制文件,它通过挂载包含卷来使它们在容器中可用。

相关内容