通常のシェルのすべての機能を維持しながら、プロセスごとにフォルダをマウントする方法

通常のシェルのすべての機能を維持しながら、プロセスごとにフォルダをマウントする方法

FHS以外のOS(NixOs)でFHS OSを偽造して「純度」を追加するには、プロセスごとにいくつかのフォルダをマウントし、/libNixOsに存在しないフォルダなどの他のフォルダを上書きする必要があります。私は特定のアプリケーションにこれらのフォルダを提供したいと思います(グローバルにインストールしたくありません)。同様に、このフォルダを上書きしたいと思います/bin。これには他の実行可能ファイルのみが含まれており、リンクしたいと/bin/sh思います/bin/bash

理想的には、適切なフォルダをマウント/上書きし、通常のシェルと同じ機能を持つシェルにドロップするコマンドを持ちたいと思います。特にsudoまたは通常のコマンドを実行し、fusionmountコマンドを実行できる必要があります。(特に実行中のアプリケーションイメージ)、ネットワークにアクセスしています...

理想的には、コマンドは次のようになります。root以外のユーザーとして実行。可能であれば、suidバイナリなしで名前空間を使用して動作させたいのですが、選択肢がない場合はsetuidを使用できます(システムの残りの部分のセキュリティを侵害しない場合)。または他のオプションがない場合は、sudoを使用してください。

ユーザーネームスペース+マウントネームスペース+ chrootを試しましたが、残念ながら、ここではネームスペースがrootアカウントを非表示にするため、sudoアプリケーションを実行できません(参照)ユーザーネームスペース:特定のプログラムに対してのみフォルダをマウントする方法)。他のツール(bubblewrapなど)はfusionmountコマンドを実行できません。他の解決策がありますか?

ベストアンサー1

おすすめ記事