Acerca del poder de root y permisos de usuarios y grupos II

Una manera no tan conocida (tal vez por su relativa inmadurez) son las POSIX CAPABILITIES en Linux. Las PCaps permiten asignar determinados permisos a procesos y archivos ejecutables. La idea es evitar el uso del poderoso pero a la vez peligroso SUID Bit.

El archivo  /usr/include/linux/capability.h contiene la descripción definición de las 31 PCaps. Para poder usarlas:

  • Verificar que esta soportado por el kernel

Soporte de PCaps

  • Habilitar KPROBES y compilar si es necesario

Habilitar KPROBES en el kernel

  • Compilar e instalar las nuevas libreras PCAPS

Se trata de la version 2.x de estas libreras que in

cluyen las herramientas setcap y getcap.

  • Cargar el modulo capable_probe

Este módulo es muy importante para comenzar a usar las PCaps e ir aprendiendo como funcionan. De esta manera, podremos ver los mensajes relativas a las PCaps en el archivo /var/log/messages. Hay que tener en cuenta que dicho archivo crecer notablemente, por lo que se recomienda no tener cargado todo el tiempo el módulo capable_probe.

Una de las primeras cosas que se pueden hacer es probar alguna aplicación y ver que capabilities esta usado. Por ejemplo, vemos que el comando at requiere la facultad para realizar diversas tareas administrativas, pasar por el alto el control de acceso discrecional, cambiar propietarios de archivos, manipulación de SUID y SGID bits.
PCaps requeridas

Espero pronto poder escribir algunas cosas ms sobre este apasionante tema.