Tengo una aplicación que crea "registros" de datos. Cada registro tiene un directorio con "adjuntos". El usuario crea un registro (a través de la interfaz web de la aplicación), mis aplicaciones crean un directorio de archivos adjuntos y el usuario puede agregar muchos archivos al directorio de archivos adjuntos.
El usuario ha montado todos los directorios de archivos adjuntos a través de NFS, por lo que puede agregar archivos fácil y cómodamente desde su propia computadora.
Necesito algo como control de permisos dinámico:Cada vez que Linux quiera acceder a un archivo en el directorio de archivos adjuntos, quiero que Linux le pregunte a mi aplicación: ¿El usuario xx quiere leer/escribir el archivo yy? ¿permitir?
Sólo la aplicación sabe a qué hora el registro está "activo" y se pueden agregar archivos adjuntos o el registro está bloqueado.
Ahora estoy llamando a chmod() en archivos, pero es lento para árboles de archivos grandes en archivos adjuntos. Y tampoco es atómico.
Una solución alternativa que puedo imaginar podría ser: usar sshfs en lugar de NFS y parchear el servidor sftp de openssh para solicitar permisos para cada archivo (a través de alguna API de socket, ...). ¿Es posible?
Editar- parece posible:https://gitlab.com/netajo/sftp-permission-api/