Algunas soluciones que se me ocurrieron fue:
- 1. Posiblemente la mas sencilla. Crear un nuevo usuario con permisos de lectura solo dentro de la carpeta publica . Aunque en este punto estoy considerando que puedo crear un demonio y dicho demonio va tener los respectivos permisos que su usuario oriden (Corriganme si esto no es así)
- 2. Usar Incron para generar eventos con referencia a la carpeta publica de manera que el servicio pueda ser notificado de cualquier eliminacion/agregación de un nuevo archivo en la carpeta para que el servicio pueda tener un conjunto de los archivos disponibles, es decir, aquellos que se encuentran en la carpeta pública. Finalmente con cada petición de un archivo primeramente se verificaria si el recursos esta dentro de este conjunto de archivos disponibles(posiblemente con ayuda de su hash para una busqueda rapida)