Tengo un usuario con acceso limitado en el sistema (es decir, no es un sudoer); Llamemos a lo Bob .
Tengo un script o un binario en el que confío el administrador del sistema y no tendría problemas para ejecutarlo como root; Llamemos al guión get-todays-passphrase.sh
. El trabajo de este script es leer datos de un archivo "privado" (propiedad de un usuario / grupo que no sea Bob, o incluso root) ubicado en /srv/daily-passphrases
, y solo generar una línea específica del archivo: la línea que corresponde con la fecha de hoy .
A los usuarios como Bob no se les permite saber la frase de contraseña de mañana, aunque esté en el archivo. Por esta razón, el archivo /srv/daily-passphrases
está protegido por permisos Unix, por lo que los usuarios no root como Bob no pueden acceder al archivo directamente. Sin embargo, se les permite ejecutar el get-todays-passphrase.sh
script en cualquier momento, lo que devuelve los datos "filtrados".
Para resumir (la versión TL; DR ):
- Bob no puede leer el archivo protegido
- El script puede leer el archivo protegido.
- En cualquier momento, Bob puede ejecutar el script que puede leer el archivo
¿Es posible hacer esto dentro de los permisos de archivos Unix? O si Bob inicia un script, ¿el script siempre estará condenado a ejecutarse con los mismos permisos que Bob?