Como implementar permissões dinâmicas de arquivos

Como implementar permissões dinâmicas de arquivos

Tenho aplicativo que cria "registros" de dados. Cada registro possui um diretório com “anexos”. O usuário cria um registro (por meio da interface da web do aplicativo), meus aplicativos criam um diretório de anexos e o usuário pode adicionar muitos arquivos ao diretório de anexos.

O usuário montou todos os diretórios de anexos via NFS, para que ele possa adicionar arquivos de forma fácil e conveniente do próprio computador.

Preciso de algo como controle de permissão dinâmico:Toda vez que o Linux deseja acessar um arquivo no diretório de anexos, quero que o Linux pergunte ao meu aplicativo: O usuário xx deseja ler/gravar o arquivo yy? permitir?

Somente o aplicativo sabe a que horas o registro está "ativo" e anexos podem ser adicionados ou o registro está bloqueado.

Agora estou chamando chmod() em arquivos, mas é lento para grandes árvores de arquivos em anexos. E também não é atômico.


Uma solução alternativa que posso imaginar poderia ser: Use sshfs em vez de NFS e corrija o servidor sftp do openssh para solicitar permissões para cada arquivo (por meio de alguma API de soquete, ...). É possível?

Editar- parece ser possível:https://gitlab.com/netajo/sftp-permission-api/

informação relacionada