データの「レコード」を作成するアプリケーションがあります。すべてのレコードには「添付ファイル」を含むディレクトリがあります。ユーザーがレコードを作成すると (アプリの Web インターフェイス経由)、アプリケーションによって添付ファイル ディレクトリが作成され、ユーザーは添付ファイル ディレクトリに多くのファイルを追加できます。
ユーザーはすべての添付ファイル ディレクトリを NFS 経由でマウントしているため、自分のコンピューターから簡単に便利にファイルを追加できます。
動的な権限制御のようなものが必要です:Linux が添付ファイル ディレクトリの下のファイルにアクセスするたびに、Linux がアプリケーションに「ユーザー xx はファイル yy の読み取り/書き込みを希望していますか? 許可しますか?」と尋ねるようにしたいです。
レコードが「アクティブ」で添付ファイルを追加できる時間、またはレコードがロックされている時間を知るのはアプリケーションだけです。
現在、ファイルに対して chmod() を呼び出していますが、添付ファイル内の大きなファイル ツリーでは遅くなります。また、アトミックでもありません。
私が想像できる回避策の 1 つは、NFS の代わりに sshfs を使用し、openssh の sftp サーバーにパッチを適用して、すべてのファイルの権限を要求することです (ソケット API などを介して)。これは可能ですか?
編集- 可能と思われます:https://gitlab.com/netajo/sftp-permission-api/