¿Cómo usar cap_dac_override de libcap?

¿Cómo usar cap_dac_override de libcap?

Estoy intentando probar cap_dac_override. He escrito un simple hola mundo. Compilé el programa y eliminé todos los permisos del ejecutable.

En este momento no puedo ejecutar mi programa ejecutando ./hello, lo cual es correcto. Ahora me gustaría aplicar una capacidad para que el programa aún pueda ejecutarse aunque el usuario no tenga permiso de ejecución.

¿Puedo preguntar cómo configurar cap_dac_override para poder seguir ejecutando el programa, o estoy usando cap_dac_override completamente mal?

setcap cap_dac_override=ep hello

Respuesta1

Estás confundiendo capacidades y permisos.

Elbits de modo de archivoopermisosdescribir¿Qué se puede hacer con un archivo?. Cuando eliminaste todos los permisos de un archivo, le indicaste al sistema operativo que no deseas que nadie lea, escriba o ejecute.

Las capacidades de archivos, por otro lado, describenque puede hacer un archivoO para ser exactos, qué puede hacer un proceso que se origina a partir de ese archivo de programa, qué de otro modo no podría hacer.

Con setcap cap_dac_override=ep hellousted permitió que el programa helloanule las comprobaciones de permisos habituales cuando se ejecuta. Pero eso no cambia el hecho de que se aplican las comprobaciones de permisos habituales al intentar ejecutar hello.

información relacionada