暗号化されたファイルシステムにアクセスするプロセスがあります。これはEncFSを使用して簡単に実行できますが、そのためにはユーザーが暗号化されたファイルシステムをマウントする必要があるため、rootなどのマウントユーザーにアクセスできるすべてのユーザーにデータへのアクセスを提供する必要があります。
プロセスでのみデータにアクセスできるようにファイルシステムをマウントすることは可能ですか?そうでなければ、パスワードを知らない人がデータにアクセスするのを防ぐ他の方法はありませんか?
答え1
ギルスの言葉は正しいです。ルートがマウントポイントにアクセスするのを防ぐことはできません。インストールに直接アクセスすることはできませんが(ヒューズallow_other
オプションはありません)、常にそのユーザーに切り替えることができます。
しかし、、プロセスが現在の作業ディレクトリをマウントポイントに変更した後、削除を遅らせることができます。プロセスがマウントポイント内にある場合は、遅延マウント解除を実行できます。これにより、新しいプロセスはマウントポイントにアクセスできなくなりますが、マウントポイント内で実行されているプロセスは引き続きアクセスできます。
はい
encfs /enc/source /enc/target
( cd /enc/target && some_long_running_process) &
fusermount -uz /enc/target
some_long_running_process
、生成されたすべての子プロセスは、マウントポイントへのフルアクセス権を持ちます。ただし、そのプロセスの子プロセスではなく、プロセスがマウントにアクセスしようとすると、空のディレクトリのみが取得されます。
他のものがディレクトリを変更できるマウントポイントを使用できる簡単なウィンドウがありますが、スクリプトで書くと非常に小さいです。
また、ルートがマウントポイントにアクセスする方法はいくつかありますが、簡単ではありません。非常にハッカースタイル。
答え2
マウントされたユーザーだけがencfsファイルシステムにアクセスできます。もちろん、rootとして実行されているプロセスでも「許可拒否」エラーが発生しますが、マウントユーザーに切り替えてデータにアクセスできます。
ルートがデータにアクセスできないようにすることは不可能です。定義によると、ルートは全能であり、すべてにアクセスできます。シン/サンタクロース/両親/… 1が昨夜あなたがしたことを知ることを防ぐことができないように、ルートがファイルにアクセスするのを防ぐことはできません。ユーザーを信頼しない場合は、rootとしてコマンドを実行する権限を付与しないでください。
¹該当する項目を選択してください。
答え3
まあ、このQ&Aによると次のようになります。encfs 予期したアクセスが拒否されました。特定のユーザーがインストールした場合、ルートもEncFSにアクセスできないようです。
抜粋
しかし、通常のユーザーを使用して暗号化されたディレクトリをマウントし、ルートを使用してsudoを使用してマウントされたファイルを表示しようとしました。それはうまくいかず、これはencfsのすべてです。
あなたの例では、crディレクトリはencfsによって使用されるリポジトリです。ここにあるものは大きな秘密ではなく、すべて暗号化されたデータです。このデータをmnにマウントして、その内容、つまりmnの下のファイルを人間が読める方法で表示できます。
crをマウントしたユーザーだけがmnの内容を読み取ることができます。ルートではありません。
su - <user>
ただし、より熟練したユーザーの場合、ルートが単に実行されてそのユーザーになり、マウントされたEncFS共有にアクセスするのを防ぐ方法はありません。
このサイトで何度も言ったように、ルートがシステムのローカルエントリにアクセスするのを防ぐことはできません。これがシステムがどのように機能するかです。 Windowsシステムの管理者も同様です。