su (Español)

From ArchWiki

Esta traducción de su fue revisada el 2022-11-07. Si existen cambios puede actualizarla o avisar al equipo de traducción.

La utilidad su (usuario sustituto) se utiliza para asumir la identidad de otro usuario en el sistema, el superusuario (root) por defecto.

Véase PAM para las formas de configurar el comportamiento de su.

Instalación

su es parte del paquete util-linux.

Utilización

Para asumir el inicio de sesión de otro usuario, pase el nombre de usuario que desea convertir a su, como sigue:

$ su usuario

Por defecto, cuando se ejecuta como un usuario regular, Se le pedirá la contraseña del usuario que está invocando. Cuando se ejecuta su como superusuario (root), no se requiere contraseña.

Si no se pasa ningún nombre de usuario, su asume que es el superusuario (root) y la contraseña por la que se le preguntará será la de superusuario.

Para más información, véase su(1).

Consejos y trucos

Intérprete de inicio de sesión

El comportamiento predeterminado de su es permanecer dentro del directorio vigente y de mantener las variables del entorno del usuario original (en lugar de cambiar a los del nuevo usuario).

Consideraciones importantes a tener en cuenta:

  • A veces puede ser ventajoso para un administrador del sistema utilizar la cuenta shell de un usuario normal y no la suya propia. En particular, a veces, la manera más eficiente para resolver el problema de un usuario, es iniciar sesión en la cuenta de ese usuario a fin de reproducir o depurar el problema.
  • Sin embargo, en muchas situaciones no es deseable, o incluso puede ser peligroso para el superusuario, estar operando desde la cuenta de la shell de un usuario normal y con las variables del entorno de esa cuenta, más que desde las suyas propias. Podría darse el caso de que, sin intención, desde la cuenta shell de un usuario normal, el superusuario instalara un programa o hiciera cambios en el sistema que no tendrían el mismo resultado que si se hicieran durante el uso de la cuenta del superusuario. Por ejemplo, podría instalar un programa de modo que el mismo le diera al usuario normal el poder para dañar accidentalmente el sistema u obtener acceso no autorizado a determinados datos.

Por lo tanto, es recomendable que los usuarios administradores, así como cualquier otro usuario que esté autorizado para utilizar su (y se sugiere que sean muy pocos, si los hay) adquieran el hábito de ejecutar siempre su con la opción -l/--login. Esto tiene dos efectos:

  1. Cambiar desde el directorio en curso al directorio home del nuevo usuario (por ejemplo, a /root en el caso de que el usuario destinatario sea el superusuario) para acceder como ese usuario.
  2. Cambiar las variables del entorno a las del nuevo usuario según lo indicado en sus configuraciones de intérprete preferidas. Como su ~/.bashrc, y posiblemente otros archivos de puntos, para un intérprete bash. Es decir, el directorio y el entorno actuales se cambiarán a lo que se esperaría si el nuevo usuario hubiera iniciado sesión en una nueva sesión (en lugar de simplemente tomar el control de una sesión existente).

Por lo tanto, los administradores generalmente deben utilizar su de la siguiente manera:

$ su -l

Un resultado idéntico se produce añadiendo el nombre del superusuario:

$ su -l root

Del mismo modo, lo anterior se puede hacer con cualquier otro usuario (por ejemplo, para un usuario llamado archie):

# su -l archie

Es posible que desee añadir un alias en ~/.bashrc como sigue:

alias su='su -l'
Sugerencia: A veces encontrarás que su se utiliza para obtener un shell de inicio de sesión con su -, en lugar de su -l/su --login . Se desaconseja esta abreviatura porque la opción - puede encontrar limitaciones de análisis, véase su(1) § DESCRIPTION.

su y wheel

su de BSD permite únicamente a los miembros del grupo de usuario wheel asumir la identidad del superusuario por defecto. Este no es el comportamiento por defecto de su en GNU, pero dicho comportamiento puede ser imitado usando PAM. Descomente la línea apropiada en /etc/pam.d/su y /etc/pam.d/su-l:

auth required pam_wheel.so use_uid