Documentation for a newer release is available. View Latest

Obteniendo Privilegios

Los administradores del sistema y, en algunos casos, los usuarios necesitan llevar a cabo ciertas tareas con acceso administrativo. El acceso al sistema como usuario root es potencialmente peligroso y puede llevar a graves daños en el sistema y los datos. Este capítulo cubre la forma de obtener privilegios administrativos usando programas de setuid como su y sudo. Estos programas permiten que usuarios específicos lleven a cabo tareas que normalmente solo están disponibles para el usuario root a la vez que mantienen un alto nivel de control y seguridad del sistema.

Vea la Guía de Seguridad de Red Hat Enterprise Linux 7 para más información sobre los controles administrativos, los peligros potenciales y las formas de evitar la pérdida de datos como resultado de un uso impropio de los accesos privilegiados.

El Comando su

Cuando un usuario ejecuta el comando su se le pide la contraseña de root y, después de la autenticación, se le abre un símbolo del sistema de root.

Una vez se ha accedido usando el comando su el usuario es usuario root y tiene acceso administrativo absoluto al sistema. Advierta que este acceso está sujeto a restricciones impuestas por SELinux, se está habilitado. Además, una vez que el usuario es root tiene la posibilidad de usar el comando su para cambiar a cualquier otro usuario del sistema sin que se le pida contraseña.

Puesto que este programa es tan poderoso, los administradores dentro de la organización pueden desear limitar quien accede al comando.

Una de las maneras más sencillas de hacer esto es añadir los usuarios al grupo administrativo especial llamado wheel. Para hacer esto teclee el siguiente comando como root:

~]# usermod -a -G wheel username

En el comando anterior reemplace username con el nombre de usuario que desee añadir al grupo wheel.

Usted también puede usar la herramienta de ajustes Users para modificar la membresía del grupo de la siguiente forma. Advierta que necesita tener privilegios de administrador para llevar a cabo este procedimiento.

  1. Presione la tecla Super para entrar en Actividades, teclee Users y pulse Enter. Aparece la herramienta de ajustes Users. La tecla Super aparece de diversas formas dependiendo del teclado y otro hardware, pero con frecuencia es la tecla Windows o Command y normalmente está a la izquierda de la Barra Espaciadora.

  2. Para poder hacer cambios pulse el botón Desbloquear e introduzca una contraseña de administrador válida.

  3. Pulse un icono de usuario en la columna de la izquierda para visualizar las propiedades del usuario en el panel de la derecha.

  4. Cambie el Tipo de Cuenta de Estándar a Administrador. Esto añadirá al usuario al grupo wheel.

See Managing Users in a Graphical Environment for more information about the Users tool.

Después de que haya añadido los usuarios deseados al grupo wheel es aconsejable que solo estos usuarios específicos utilicen el comando su command. Para hacer esto, edite el archivo de configuración PAM para su, /etc/pam.d/su. Abra este archivo en un editor de texto y quite el comentario de la siguiente línea quitando el carácter #:

#auth           required        pam_wheel.so use_uid

Este cambio significa que solo los miembros del grupo administrativo wheel pueden conmutar a otro usuario usando el comando su.

Nota

El usuario root es parte del grupo wheel de forma predeterminada.

El Comando sudo

El comando sudo ofrece otra manera de dar a los usuarios acceso administrativo. Cuando usuarios de confianza preceden un comando administrativo con sudo se les pide su propia contraseña. Después, cuando han sido autenticados y asumiendo que tienen permitido el comando, el comando administrativo de ejecuta como si fuera el usuario root.

El formato básico del comando sudo es como sigue:

sudo command

En el ejemplo de arriba , command debería ser reemplazado por un comando reservado normalmente para el usuario root, como mount.

El comando sudo permite un alto grado de flexibilidad. Por ejemplo, solo los usuarios listados en el archivo de configuración /etc/sudoers tienen permitido usar el comando sudo y el comando se ejecuta en el shell del usuario no en un shell de root. Esto significa que el shell de root puede ser completamente deshabilitado como se muestra en la Guía de Seguridad de Red Hat Enterprise Linux 7.

Cada autentificación permitida usando el comando sudo es registrada en el archivo /var/log/messages y el comando enviado así como el nombre del usuario es registrado en el archivo /var/log/secure. Si se requiere algún registro adicional utilice el módulo pam_tty_audit para habilitar la auditoria TTY para los usuarios especificados añadiendo la siguiente línea en su archivo /etc/pam.d/system-auth:

session required pam_tty_audit.so disable=pattern enable=pattern

donde pattern representa una lista separada por comas de usuarios con un uso opcional de globos. Por ejemplo, la siguiente configuración habilitará la auditoria TTY para el usuario root y la deshabilitará para todos los demás usuarios:

session required pam_tty_audit.so disable=* enable=root

Otra ventaja del comando sudo es que un administrador puede permitir a diferentes usuarios acceder a comandos específicos en base a sus necesidades.

Los administradores que deseen editar el archivo de configuración de sudo, /etc/sudoers, deben usar el comando visudo.

Para dar a alguien privilegios administrativos totales, teclee visudo y añada una linea similar a la siguiente el sección de especificación de privilegio de usuario:

juan ALL=(ALL) ALL

Este ejemplo indica que el usuario `juan`puede usar sudo desde cualquier equipo y ejecutar cualquier comando.

El ejemplo de abajo ilustra la granularidad posible cuando se configura el comando sudo:

%users localhost=/sbin/shutdown -h now

Este ejemplo indica que cualquier miembro del grupo del sistema users puede enviar el comando /sbin/shutdown -h now siempre que lo envíe desde la consola.

La página de manual sudoers tiene un listado detallado de las opciones para este archivo.

Importante

Existen diversos riesgos potenciales a tener en cuenta cuando se usa el comando sudo. Usted puede evitarlos editando el archivo de configuración /etc/sudoers usando visudo como se describe arriba. Dejar el archivo /etc/sudoers en su estado predeterminado da a cada usuario del grupo wheel acceso root ilimitado.

  • De modo predeterminado sudo almacena las contraseñas de sudoer por un período de cinco minutos. Cualquier uso subsiguiente del comando durante este periodo no necesitará contraseña del usuario. Esto podría ser explotado por un atacante si el usuario deja su estación de trabajo desatendida y desbloqueada mientras continua con acceso. Este comportamiento puede ser cambiado añadiendo la siguiente línea al archivo /etc/sudoers:

    Defaults    timestamp_timeout=value

    donde value es la longitud de tiempo deseada en minutos. Estableciendo value a 0 causa que sudo pida una contraseña cada vez.

  • Si una cuenta de sudoer está comprometida un atacante puede usar sudo para abrir una nueva shell con privilegios administrativos:

    sudo /bin/bash

    Abriendo una nueva shell como root de este modo o de modo similar da al atacante acceso administrativo por una cantidad de tiempo teóricamente ilimitada, saltando el período de tiempo de salida especificado en el archivo /etc/sudoers y nunca se pedirá al atacante que introduzca una contraseña para el comando sudo otra vez hasta que se cierra la sesión recién abierta.

Recursos Adicionales

Aunque los programas que permiten a los usuarios obtener privilegios administrativos con un riesgo potencia de seguridad, la seguridad en si misma está más allá del alcance de este libro en concreto. Usted debería de todos modos ver los recursos listados más abajo para más información sobre la seguridad y el acceso privilegiado.

Documentación Instalada
  • su(1) — La página de manual para el comando su propociona información sobre las opciones disponibles con este comando.

  • sudo(8) — La página de manual para el comando sudo incluye una descripción detallada de este comando y lista las opciones disponibles para personalizar su comportamiento.

  • pam(8) — La página de manual que describe el usao de los Módulos de Autenticación Conectables (PAM) para Linux.

Documentación el Línea
Vea También
  • Managing Users and Groups documents how to manage system users and groups in the graphical user interface and on the command line.