ユーザーが完全に読めるフォルダがあるとしましょう。私のホームフォルダにインストールしたいです。私はファイルが公開されることを望み~/
、他のプログラムがそれがマウントされていることを「知らない」ことを望むので、シンボリックリンクを使用することはできません。この機能を実行できるヒューズプログラムはありますか?問題mount
は、ルートアクセスが必要であることです。
また、ブート時ではなく、必要なときにこのディレクトリをマウントできる場合は感謝します。~/
ログインしないと、私のディレクトリが暗号化されるからです。
答え1
さまざまなFUSEユーティリティがこれを実行できます。例えば、ファイルシステムバインディングmount --bind
ディレクトリは以前と同様に他の場所にマウントできます。
bindfs --no-allow-other /source/directory /mount/point
このオプションは、コメントを削除しない限り必須です--no-allow-other
(ただし、セキュリティ関連の内容については、以下のlibfuseに関する注意事項を参照してください)。user_allow_other
/etc/fuse.conf
削除:
fusermount -u /mount/point
FUSEファイルシステムには現在知られている問題/制限事項があります。パフォーマンスコスト、使用不可などに言及する価値があります。inotifyソースファイルシステムで発生するファイルシステムイベントと、次にリストされているセキュリティリスクを監視します。libfuse GitHubリポジトリ閲覧ファイル。
Linuxではバインドマウント実行にはmount --bind
これらの欠点はありません。ただし、コンテンツを編集するには少なくとも一度はrootアクセスが必要ですfstab
。
リンクされたQ / Aを参照してください。たくさんこのトピックについて詳しく説明します。
答え2
次のエントリを使用して/etc/fstabを一度設定できます。
/path/to/original/dir /path/to/bind/dir none bind,rw,user,noauto 0 0
マウントオプションは、以下を順番に指定します。
bind
項目がバインドマウントであることを示します。rw
項目が読み取り/書き込みモードでマウントされることを指定します。user
root 以外のユーザーがファイルシステムをマウントできるようにします。noauto
mount -a
このエントリが起動時に自動的にインストールされないことを指定します。
root権限で一度設定してください。エントリが正しい場所にある場合は、rootではなくユーザーとしてインストールを実行できます。ただ実行してくださいmount /path/to/bind/dir
。
参考にするいくつかの点があります。
- この
user
オプションを使用すると、元のファイルシステムをマウントしたのと同じユーザーアカウントのみを削除できます。複数のユーザーが関与している場合は、このusers
オプションを確認できます。man 8 mount
詳細より。 - このオプションは、(バイナリ実行を許可しない)、(setuid / setgidビットを尊重しない)、および(デバイスを解釈しない)の
user
3つの異なるオプションを意味します。これらの機能を復元するには、そのオプションをリストの最後に追加します。たとえば、。これらのオプションはセキュリティに影響を与えることに注意してください。詳細より。noexec
nosuid
nodev
bind,rw,user,noauto,exec
man 8 mount
答え3
この答えを見てくださいhttps://unix.stackexchange.com/a/767296/139357unshare と nsenter を使用して root 以外のユーザーにマウントをバインドする方法を示します。
この回答は改善されます。