あまり開放的であいまいな権限は何ですか?

あまり開放的であいまいな権限は何ですか?

問題を説明します。

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:999MongoDBはファイルにアクセスできませんが、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はファイルを移動またはコピーせず、含まれているボリュームをマウントしてコンテナでそのファイルを使用できるようにします。

おすすめ記事