許可されていないDockerコンテナ内のアプリケーションはmv <source_file> <dest_dir>
ルートで実行され、既存の<source_file>
汎用ファイルであり、既存のディレクトリである必要が<dest_dir>
あります。それ以外には、権限、所有者/グループ、ファイルコンテンツなどの要件はありません。
これが失敗する環境(コンテナ内でのみ)を設定する最も簡単な方法は何ですか?
読み取り専用のバインドマウントを試みましたが、エラーが発生しましたが、Read-only file system
これは次の--privileged
フラグでのみ機能します。
mount --bind -o ro foo dest_dir # mount: /dest_dir: permission denied.
mv file dest_dir
また、小さすぎるファイルシステムを作成しようとするとNo space left on device
エラーが発生しましたが、これもマウントが必要なため、次のフラグでのみ機能します--privileged
。
dd if=/dev/zero of=device bs=1M count=10
mkfs.ext4 device
mount -o loop device dest_dir # mount: dest_dir: mount failed: Operation not permitted.
mv big_file dest_dir