特定のLinuxプロセスがコンテナを持つ(KVMやXenなどの仮想化なしで)他のブロックデバイスセットを表示できるようにすることはできますか?たとえば、起動時にシステムはsda
、sdb
およびを認識sdc
してからloop0
、およびを生成し、上記の残りの部分は表示されないだけで表示loop1
されるプロセス(ルートとして実行)を開始しようとします。プロセスが呼び出されても、他のデバイスは隠されたままにする必要があります。sdb
loop0
マクノルド(2)ブロックデバイスノードを作成し(成功する必要があります)、開こうとします(メッセージで失敗する必要がありますNo such device
)。
nodev
ルートとして実行されているプロセスはこのフラグなしでファイルシステムを再マウントできるため、このフラグを使用してファイルシステムをマウントすると効果はありません。
一部の複雑なユーザー空間コンポーネントは、ルートアクセスを想定しているシステムで実行されており、これらのコンポーネントを変更するのにコストがかかりすぎるため、root以外のユーザーとしてプロセスを実行することはオプションではありません。これらのプロセスの機能を減らすこともオプションではありません。
これは不可能な可能性が高いです。なぜならhttp://lxr.free-electrons.com/source/include/uapi/linux/sched.hCLONE_NEW...
ブロックデバイスのフラグを含めません。しかし、おそらく私が何かを見逃しているようです。