Cuando se usa setcap, ¿dónde se almacena el permiso?


11

El uso setcappara otorgar permisos adicionales a un binario debería escribir el nuevo permiso en algún lugar, en el almacenamiento o en la memoria, ¿dónde se almacena?

Usar lsofcomo está no funciona porque el proceso desaparece demasiado rápido.


Usa otro proceso. Haga una copia /usr/bin/sleepy dele las capacidades a esta copia.
Hauke ​​Laging

Respuestas:


9

Los permisos extendidos, como las listas de control de acceso establecidas por setfacly los indicadores de capacidad establecidos por, setcapse almacenan en el mismo lugar que los permisos tradicionales y los indicadores de identificación [ug] establecidos por chmod: en el inodo del archivo.

(En realidad, pueden almacenarse en un bloque separado en el disco, porque un inodo tiene un tamaño fijo que tiene espacio para los bits de permiso tradicionales pero no para los permisos extendidos potencialmente ilimitados. Pero eso solo importa en casos raros, como tener que cuidado que setcappodría quedarse sin espacio en disco. ¡Pero incluso chmodpodría quedarse sin espacio en disco en un sistema que utiliza deduplicación!)

GNU ls no muestra los atributos setcap de un archivo. Puedes mostrarlos con getcap. Puede enumerar todos los atributos extendidos con getfattr -d -m -; Se llama al atributo setcap security.capabilityy se codifica en un formato binario que getcapdecodifica para usted.


4

setcap establece las capacidades de archivo que se almacenan en el atributo extendido del sistema de archivos. Estos se explican en man 7 capabilities:

Los conjuntos de capacidades de archivo se almacenan en un atributo extendido (consulte setxattr (2)) denominado security.capability.

Puede inspeccionar las capacidades de un proceso en ejecución examinando los campos CapInh / CapPrm / CapEff en /proc/PID/status. Consulte mi respuesta a " ¿Cómo establecer capacidades con el comando setcap? " Para obtener una explicación sobre cómo se aplican las capacidades para procesar en exec.


capsh --decode = podría ser útil para obtener datos legibles por humanos.
Zulgrib
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.