フォルダーをマウントポイントのみとしてマークできますか?

フォルダーをマウントポイントのみとしてマークできますか?

~/nas通常、ネットワーク ドライブをマウントするために使用するフォルダーがありますsshfs。今日、共有がまだマウントされていないことに気付かず、そこにデータをコピーしてしまいました。ネットワーク共有ではなく、自分のローカル ドライブにデータをコピーしただけだと気づくのに少し時間がかかりました。このフォルダーがマウント ポイントであることをシステムにマークし、誰もそこにデータをコピーできないようにする方法はありますか?

ここで権限ソリューションを試しました:ディレクトリがマウントされている場合にのみプログラムがディレクトリに書き込めるようにするにはどうすればよいですか?ただし、書き込みアクセス権がない場合には、何もマウントできません。

答え1

あなたがいる限りないルートの場合は、単に書き込み権限を取り消すだけで済みます~/nas自分用のディレクトリを作成し、sudo を使用して昇格マウントします。

$ chmod u-w ~/nas
$ cd ~/nas
$ touch test
touch: cannot touch `test': Permission denied
$ cd ..
$ sudo mount -t fuse -o <options> sshfs#<user>@<host>:/mount/path/ ~/nas
$ cd ~/nas
$ touch test
$

その背後にある考え方は、マウント パスとしての ~/nas には、宛先がマウントされていない間は権限が割り当てられるため、ユーザーによる変更が防止されるということです (ユーザーがルート権限を持っていない限り)。マウント コマンド (実行するにはルート権限が必要) は、フォルダーの権限を宛先の権限に設定されているものに一時的に変更し、ユーザーの書き込みアクセスを許可します。

答え2

私たちは不変ルートアクセスに対してもディレクトリを保護するための -flag。

chattr +i /vmdata/backup

この方法では、何もマウントされていないときは、ルートであってもそこに書き込むことはできません。ディスクをマウントした後は、すべてが期待どおりに動作します。

答え3

後ほど提案された回答を使用できます。

1つ目: ディレクトリがマウントされているかどうかをマウントコマンドで確認します

mount | grep <mountpoint>そこに何かがマウントされているかどうかがわかります。本当に正しいものがそこにマウントされていることを確認したい場合は、より複雑な正規表現を使用できますが、その必要はないと思います。

関連情報