Privilegio (informática)


En informática, el privilegio se define como la delegación de autoridad para realizar funciones relevantes para la seguridad en un sistema informático. [1] Un privilegio permite a un usuario realizar una acción con consecuencias de seguridad. Los ejemplos de varios privilegios incluyen la capacidad de crear un nuevo usuario, instalar software o cambiar las funciones del núcleo.

Los usuarios a los que se les han delegado niveles adicionales de control se denominan privilegiados. Los usuarios que carecen de la mayoría de los privilegios se definen como usuarios normales, regulares o sin privilegios.

Existe un privilegio automático cuando no se requiere tener permiso para realizar una acción. Por ejemplo, en los sistemas en los que se requiere que las personas inicien sesión en un sistema para usarlo, el cierre de sesión no requerirá un privilegio. Los sistemas que no implementan la protección de archivos, como MS-DOS , esencialmente otorgan privilegios ilimitados para realizar cualquier acción en un archivo.

Un privilegio otorgado existe como resultado de presentar alguna credencial a la autoridad que otorga el privilegio. Esto generalmente se logra iniciando sesión en un sistema con un nombre de usuario y una contraseña , y si el nombre de usuario y la contraseña proporcionados son correctos, se otorgan privilegios adicionales al usuario.

Un privilegio se solicita mediante un programa ejecutado que emite una solicitud de privilegios avanzados o mediante la ejecución de algún programa para solicitar los privilegios adicionales. Un ejemplo de un usuario que solicita privilegios adicionales es el comando sudo para ejecutar un comando como usuario raíz o el sistema de autenticación Kerberos .

Las arquitecturas de procesador modernas tienen varios modos de CPU que permiten que el sistema operativo se ejecute en diferentes niveles de privilegios . Algunos procesadores tienen dos niveles (como usuario y supervisor ); Los procesadores i386 + tienen cuatro niveles (#0 con la mayor cantidad, #3 con la menor cantidad de privilegios). Las tareas se etiquetan con un nivel de privilegio. Los recursos (segmentos, páginas, puertos, etc.) y las instrucciones privilegiadas se etiquetan con un nivel de privilegio exigido. Cuando una tarea intenta utilizar un recurso o ejecutar una instrucción privilegiada, el procesador determina si tiene el permiso (si no, se genera una interrupción de "fallo de protección"). Esto evita que las tareas del usuario dañen el sistema operativo o entre sí.