2. Niveles de Privilegio

Las próximas lecciones cubren conceptos más teóricos. Si prefiere la práctica directa, siéntase libre de saltar y volver a estos temas más tarde.

Un aspecto fundamental de la arquitectura de Linux es la separación entre el espacio de usuario y el kernel. Pero, ¿por qué no podemos combinar sus poderes en una sola capa? La razón es la seguridad y la estabilidad, lo que se logra haciendo que operen en diferentes modos.

¿Cuál es la Diferencia entre el Modo Kernel y el Modo Usuario

El sistema opera en dos modos distintos: modo kernel y modo usuario. Esta separación es crucial para proteger el hardware y los recursos del sistema del acceso directo y no controlado por las aplicaciones.

En modo kernel, el kernel tiene acceso completo y sin restricciones al hardware; lo controla todo. Este es el nivel de privilegio más alto.

En modo usuario, las aplicaciones tienen un acceso muy limitado a una porción pequeña y segura de la memoria y los recursos de la CPU.

Cuando una aplicación de usuario necesita realizar una acción que involucre hardware, como leer desde un disco, enviar datos a través de la red o acceder a un periférico, no puede hacerlo directamente. Estas operaciones deben ser manejadas por el kernel en modo kernel. Este diseño evita que un programa defectuoso o malicioso comprometa todo el sistema. Por ejemplo, no querría que el software espía tuviera acceso directo al hardware, ya que podría leer todos sus datos o controlar su cámara web.

Anillos de Protección y Acceso Privilegiado

Estos diferentes modos a menudo se describen como niveles de privilegio o anillos de protección. Imagine una fortaleza con muros concéntricos: el área más interna es la más segura y tiene la mayor autoridad. Los anillos de protección en una computadora funcionan de manera similar, con el anillo más interno correspondiente al nivel de privilegio más alto.

En una arquitectura de computadora x86 estándar, hay dos niveles principales:

  • Anillo 0: Aquí es donde se ejecuta el kernel. Tiene el nivel más alto de privilegios de kernel, puede ejecutar cualquier instrucción del sistema y se le da total confianza para administrar el hardware. Este es el núcleo del acceso privilegiado.
  • Anillo 3: Este es el nivel donde se ejecutan las aplicaciones en modo usuario. Es el anillo con menos privilegios y no tiene acceso directo al hardware.

Este modelo de seguridad basado en anillos asegura que las aplicaciones de usuario estén aisladas de los componentes críticos del sistema. Pero si las aplicaciones siempre están en un modo diferente al del kernel, ¿cómo pueden realizar las operaciones de hardware necesarias?

Llamadas al Sistema y Privilegios del Kernel

El puente entre el modo usuario y el modo kernel es la llamada al sistema. Cuando una aplicación de usuario necesita realizar una tarea privilegiada, realiza una llamada al sistema para solicitar que el kernel realice la acción en su nombre.

Este proceso permite que la aplicación transicione temporal y seguramente del modo usuario al modo kernel para ejecutar una instrucción específica y controlada. Una vez que la tarea se completa, el sistema vuelve al modo usuario. Este mecanismo asegura que las aplicaciones puedan obtener los servicios que necesitan sin obtener un acceso privilegiado directo y peligroso al hardware.

Inicia sesión para guardar tu progreso de aprendizaje

Iniciar sesión

Ejercicios

¡La práctica hace al maestro! Comprender los conceptos teóricos del espacio de usuario, el espacio del kernel y los niveles de privilegio es crucial, pero la experiencia práctica ayuda a solidificar cómo se manifiestan estos conceptos en la administración práctica de Linux. Aquí hay algunos laboratorios prácticos para reforzar su comprensión de cómo interactúan las acciones a nivel de usuario con el sistema subyacente:

  1. Administrar Cuentas de Usuario de Linux con useradd, usermod y userdel - Practique la creación, modificación y eliminación de cuentas de usuario, lo que se relaciona directamente con la administración de entidades que operan en el espacio de usuario y requieren interacción con el kernel para acciones privilegiadas.
  2. Administrar Permisos de Archivos y Directorios en Linux - Aprenda a controlar el acceso a archivos y directorios, un concepto de seguridad central que depende de que el kernel aplique permisos basados en los privilegios del usuario.
  3. Administrar y Monitorear Procesos de Linux - Explore cómo interactuar y monitorear procesos, que son aplicaciones de espacio de usuario que realizan llamadas al sistema al kernel para la gestión de recursos y la ejecución.

Estos laboratorios le ayudarán a aplicar los conceptos de interacción del usuario con el sistema Linux, donde el papel del kernel en la administración de recursos y la aplicación de privilegios es primordial, y a ganar confianza con las tareas fundamentales de administración de Linux.

Cuestionario

¿Qué número de anillo tiene los privilegios más altos?