3.5.2.2. Confinar a un administrador usando sudo y el rol sysadm_r


Puede asignar un usuario específico con privilegios administrativos al usuario staff_u SELinux, y configurar sudo para que el usuario pueda obtener el rol de administrador sysadm_r SELinux. Este rol le permite al usuario realizar tareas administrativas sin que se le niegue SELinux. Cuando el usuario se conecta, la sesión se ejecuta en el contexto staff_u:staff_r:staff_t SELinux, pero cuando el usuario introduce un comando usando sudo, la sesión cambia al contexto staff_u:sysadm_r:sysadm_t.

Requisitos previos

  • El usuario root se ejecuta sin restricciones. Este es el valor por defecto de Red Hat Enterprise Linux.

Procedimiento

  1. Cree un nuevo usuario, añada el usuario al grupo de usuarios wheel y asigne el usuario al usuario de SELinux staff_u:

    # adduser -G wheel -Z staff_u example.user
    Copy to Clipboard Toggle word wrap
  2. Opcional: Asigne un usuario existente al usuario staff_u SELinux y añada el usuario al grupo de usuarios wheel:

    # usermod -G wheel -Z staff_u example.user
    Copy to Clipboard Toggle word wrap
  3. Para permitir que example.user obtenga el rol de administrador de SELinux, cree un nuevo archivo en el directorio /etc/sudoers.d/, por ejemplo:

    # visudo -f /etc/sudoers.d/example.user
    Copy to Clipboard Toggle word wrap
  4. Añada la siguiente línea al nuevo archivo:

    example.user ALL=(ALL) TYPE=sysadm_t ROLE=sysadm_r ALL
    Copy to Clipboard Toggle word wrap

Pasos de verificación

  1. Comprueba que example.user esté asignada al usuario de SELinux staff_u:

    # semanage login -l | grep example.user
    example.user     staff_u    s0-s0:c0.c1023   *
    Copy to Clipboard Toggle word wrap
  2. Inicie sesión como example.user, por ejemplo, utilizando SSH, y cambie al usuario root:

    [example.user@localhost ~]$ sudo -i
    [sudo] password for example.user:
    Copy to Clipboard Toggle word wrap
  3. Muestra el contexto de seguridad de root:

    # id -Z
    staff_u:sysadm_r:sysadm_t:s0-s0:c0.c1023
    Copy to Clipboard Toggle word wrap
  4. Intente una tarea administrativa, por ejemplo, reiniciar el servicio sshd:

    # systemctl restart sshd
    Copy to Clipboard Toggle word wrap

    Si no hay salida, el comando ha terminado con éxito.

    Si el comando no termina con éxito, imprime el siguiente mensaje:

    Failed to restart sshd.service: Access denied
    See system logs and 'systemctl status sshd.service' for details.
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar. Explore nuestras recientes actualizaciones.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

Theme

© 2026 Red Hat
Volver arriba