Respuestas:
Los permisos extendidos, como las listas de control de acceso establecidas por setfacl
y los indicadores de capacidad establecidos por, setcap
se 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 setcap
podría quedarse sin espacio en disco. ¡Pero incluso chmod
podrí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.capability
y se codifica en un formato binario que getcap
decodifica para usted.
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.
/usr/bin/sleep
y dele las capacidades a esta copia.