Las aplicaciones y los comandos que pueden anular los controles del sistema se consideran aplicaciones con privilegios. Los atributos de seguridad, como UID=0, los privilegios y las autorizaciones hacen que una aplicación sea una aplicación con privilegios.
Aplicaciones privilegiadas que comprueban root (UID=0) o algún otro UID o GID especial han estado presentes en el entorno UNIX desde hace tiempo. El mecanismo de perfiles de derechos permite aislar comandos que requieren un ID específico. En lugar de cambiar el identificador de un comando al que cualquiera puede acceder, puede colocar el comando con un UID asignado en un perfil de derechos. Un usuario o un rol con ese perfil de derechos luego puede ejecutar el programa como ese UID sin tener que convertirse en superusuario.
Los indentificadores se pueden especificar como reales o efectivos. Se prefiere la asignación de ID efectivos en lugar de la asignación de ID reales. Los ID efectivos son equivalentes a la función setuid en los bits de permisos de archivo. Los ID efectivos también identifican el UID para auditoría. Sin embargo, dado que algunos programas y secuencias de comandos de shell requieren un UID real de root, también es posible definir UID reales. Por ejemplo, el comando reboot requiere un UID real en lugar de uno efectivo.
Las aplicaciones con privilegios pueden comprobar el uso de los privilegios. El mecanismo de perfiles de derechos le permite especificar los privilegios para comandos específicos que requieren atributos de seguridad. A continuación, puede aislar el comando con los atributos de seguridad asignados a un perfil de derechos. Un usuario o un rol con ese perfil de derechos luego pueden ejecutar el comando sólo con los privilegios que el comando necesita.
Los comandos que comprueban los privilegios incluyen lo siguiente:
Comandos de Kerberos, como kadmin, kprop y kdb5_util.
Comandos de redes, como ipadm, routeadm y snoop.
Comandos de archivos y sistemas de archivos, como chmod, chgrp y mount
Comandos que controlan procesos, como kill, pcred y rcapadm.
Para agregar comandos con privilegios a un perfil de derechos, consulte la página del comando man Cómo crear un perfil de derechos y profiles(1). Para determinar los comandos que comprueban privilegios en un perfil específico, consulte Chapter 6, Visualización de derechos en Oracle Solaris.
Algunos Oracle Solaris de los comandos comprueban las autorizaciones son los siguientes:
Comandos de administración de auditoría, como auditconfig y auditreduce
Comandos de administración de impresoras, como cupsenable y lpadmin
Comandos de trabajo por lotes, como at, atq, batch y crontab
Comandos orientados a dispositivos, como allocate, deallocate, list_devices y cdrw.
Para obtener información acerca de la comprobación de una secuencia de comandos o de un programa para las autorizaciones, consulte Example 4–3. Para escribir un programa que requiere autorizaciones, consulte About Authorizations de Developer’s Guide to Oracle Solaris 11 Security .