У меня есть приложение, которое создает "записи" данных. Каждая запись имеет каталог с "вложениями". Пользователь создает запись (через веб-интерфейс приложения), мое приложение создает каталог вложений, и пользователь может добавлять много файлов в каталог вложений.
Пользователь смонтировал все каталоги вложений через NFS, поэтому он может легко и удобно добавлять файлы со своего компьютера.
Мне нужно что-то вроде динамического управления разрешениями:Каждый раз, когда Linux хочет получить доступ к файлу в каталоге вложений, я хочу, чтобы Linux спрашивал мое приложение: Пользователь xx хочет прочитать/записать файл yy? разрешить?
Только приложение знает, в какое время запись «активна» и можно ли добавлять вложения, или запись заблокирована.
Теперь я вызываю chmod() для файлов, но это медленно для больших файловых деревьев во вложениях. И это также не атомарно.
Один из возможных вариантов решения проблемы: использовать sshfs вместо NFS и пропатчить sftp-сервер openssh, чтобы он запрашивал разрешения для каждого файла (через какой-нибудь сокет api, ...). Возможно ли это?
Редактировать- кажется возможным:https://gitlab.com/netajo/sftp-permission-api/