誰もが読むことができるUnionfs-fuseマウントを作成する方法は?

誰もが読むことができるUnionfs-fuseマウントを作成する方法は?

私は幸運なので、aufs-toolsでaufs2を使用したことがありますが、明らかにこのパッケージは「置き換えられました」(もうコンパイルされていないため、削除されたように見えるパッケージの奇妙な用語ですが、気にしないでください)。

わかりましたので、私はUnionfs-fuseを使ってみましょう。しかし、私は生涯にわたってそれをユーザーのために動作させる方法を理解することはできません。

このコマンドを使用してUnityインストールを実行しています。

unionfs-fuse /mnt/disk1-pool=RW:/mnt/disk3-pool=RW /mnt/union-pool

このコマンドをrootとして実行すると、ユーザーjoeでこの共有にアクセスできなくなります。

$ ls -al /mnt

ls: cannot access /mnt/union-pool: Permission denied
...
d??????????  ? ?    ?       ?                ? union-pool

ユーザーjoeとして実行すると、rootでこの共有にアクセスできなくなります。デフォルトでは上記と同じ出力を取得します。これは私にとって少し奇妙です。ルートはルートです。

root(明らかに)とjoeユーザーの両方が/mnt/disk1-poolおよび/mnt/disk3-poolマウントにアクセスできます。

nattyのaufs-toolsについての情報をお持ちの方は、私にも興味があるでしょう。私はこのバッグが効果があるので本当に好きです。

答え1

fuse私はそのオプション-o allow_other(マンページの例にも示されていますunionfs-fuse)が役に立つと思いましたが、試していませんでした。

編集する

この試み

sudo mount -t aufs -o br:/mnt/disk1-pool=RW:/mnt/disk3-pool=RW \
    none /mnt/union-pool

aufs-toolsこれはパッケージなしで動作するようです。

答え2

アイテムが自給自足であることを確認してください。これはFUSEベースのファイルシステムの一般的な問題です。ユーザー・スペース FUSE デーモンは、それを実行するユーザーの権限で実行されます。基本的に、プロセス所有者以外の誰もFUSEマウントポイントの下のファイルにアクセスできないようにする必要があると思います。他のことを許可するには、特定の構成パラメーターとインストール・オプションを指定する必要があります。から/etc/fuse.confコメントを外しますuser_allow_other。インストール時に必要に応じてオプションを追加allow_rootするallow_other

注:マウントroot中にFUSEプロセスを実行すると、allow_otherすべてのユーザーがプライマリファイルシステムへのルートアクセス権を取得できるため、眠れない夜が発生します。

関連情報