Autor(es) original(es) | |
---|---|
Desarrollador(es) | Laboratorios Bell de AT&T |
Lanzamiento inicial | 3 de noviembre de 1971 ( 03-11-1971 ) |
Sistema operativo | Unix y similares |
Tipo | Dominio |
El comando Unix su , que significa 'usuario sustituto' [1] [2] (o históricamente 'superusuario' [3] [4] ), es utilizado por un usuario de computadora para ejecutar comandos con los privilegios de otra cuenta de usuario. Cuando se ejecuta, invoca un shell sin cambiar el directorio de trabajo actual ni el entorno del usuario.
Cuando se utiliza el comando sin especificar el nuevo ID de usuario como argumento de la línea de comando , se utiliza de manera predeterminada la cuenta de superusuario (ID de usuario 0) del sistema.
El comando su , que incluye el sistema de permisos de Unix y la llamada al sistema setuid , fue parte de la versión 1 de Unix . Las contraseñas cifradas aparecieron en la versión 3. [5] El comando está disponible como un paquete independiente para Microsoft Windows como parte de la colección UnxUtils de puertos Win32 nativos de utilidades comunes similares a Unix de GNU. [6]
El comando su se eliminó de GNU coreutils a partir de la versión 8.18 (12/08/2012) [7] y actualmente está incluido en el paquete util-linux .
Cuando se ejecuta desde la línea de comandos, su solicita la contraseña del usuario de destino y, si está autenticado, otorga al operador acceso a esa cuenta y a los archivos y directorios a los que esa cuenta tiene permiso de acceder.
john@localhost:~$ su jane Contraseña: jane@localhost:/home/john$ salir cerrar sesión john@localhost:~$
Cuando se utiliza con un guion ( su- ), se puede utilizar para iniciar un shell de inicio de sesión. En este modo, los usuarios pueden asumir el entorno de usuario del usuario de destino.
john@localhost:~$ su - jane Contraseña: jane@localhost:~$
El comando sudo está relacionado y ejecuta un comando como otro usuario, pero observa un conjunto de restricciones sobre qué usuarios pueden ejecutar qué comandos como qué otros usuarios (generalmente en un archivo de configuración llamado /etc/sudoers , que se puede editar mejor con el comando visudo ). A diferencia de su , sudo autentica a los usuarios con su propia contraseña en lugar de la del usuario de destino (para permitir la delegación de comandos específicos a usuarios específicos en hosts específicos sin compartir contraseñas entre ellos y al mismo tiempo mitigar el riesgo de cualquier terminal desatendida).
Algunos sistemas tipo Unix implementan el grupo de usuarios wheel y solo permiten a los miembros convertirse en root con su . [8] Esto puede o no mitigar estos problemas de seguridad, ya que un intruso podría simplemente entrar en una de esas cuentas. Sin embargo, GNU su no admite el grupo wheel por razones filosóficas. Richard Stallman argumenta que debido a que el grupo evitaría que los usuarios utilicen contraseñas root que se les filtraran, el grupo permitiría a los administradores existentes pasar por encima de los usuarios comunes. [9]
su - ejecutar un comando con un ID de usuario y grupo sustituto
su - sustituye temporalmente el ID del usuario
su -- convertirse en usuario privilegiado... su permite convertirse en superusuario.
su: convertirse en superusuario