特定のプログラムのルートなしで/ dev/randomを/ dev/urandomに再マップできる小さなコンテナを作成しようとしています。私がこれまでに持っているもの:
unshare -r bash -c 'chroot . /bin/busybox sh'
ほとんどの場合、これはSudo chroot . /bin/busybox sh
と同等の完全なchrootとして機能するようですが、1つの問題があります。somefilec19をmknodしようとすると、操作が許可されません。これは標準のchrootで機能します。これを回避することは可能ですか?そうでない場合、私が試みていることを行うためのより良い方法はありますか?
ランダムvsurandomのセキュリティについてのコメントで私を溺れさせないでください。それはこれが何であるかではありません。
プログラムが動的にリンクされている場合は、 プリロード ライブラリによってファイルを開く機能をオーバーライドできます。サンプルコードについては、 実行前にファイル記述子をリダイレクトする を参照してください。 /dev/null
を/dev/urandom
に置き換え、ビルドコマンドでPATH_TO_OVERRIDE=/dev/random
を設定します。