Página principal » cómo » ¿Cuál es la diferencia entre Sudo y Su en Linux?

    ¿Cuál es la diferencia entre Sudo y Su en Linux?

    Si eres un usuario de Linux, probablemente hayas visto referencias tanto a sudo como a su. Los artículos aquí en How-To Geek y en otros lugares instruyen a los usuarios de Ubuntu a usar sudo y a los usuarios de otras distribuciones de Linux a usar su, pero ¿cuál es la diferencia?

    Sudo y su son dos formas diferentes de obtener privilegios de root. Cada una funciona de una manera diferente, y diferentes distribuciones de Linux usan diferentes configuraciones por defecto.

    El usuario raíz

    Tanto su como sudo se utilizan para ejecutar comandos con permisos de root. El usuario root es básicamente equivalente al usuario administrador en Windows: el usuario root tiene permisos máximos y puede hacer cualquier cosa al sistema. Los usuarios normales en Linux se ejecutan con permisos reducidos, por ejemplo, no pueden instalar software o escribir en directorios del sistema.

    Para hacer algo que requiera estos permisos, deberás adquirirlos con su o sudo.

    Su vs. Sudo

    El comando su cambia al superusuario o al usuario root cuando lo ejecuta sin opciones adicionales. Tendrás que ingresar la contraseña de la cuenta de root. Sin embargo, esto no es todo lo que hace el comando su: puede usarlo para cambiar a cualquier cuenta de usuario. Si ejecuta el su bob comando, se le pedirá que ingrese la contraseña de Bob y el shell cambiará a la cuenta de usuario de Bob.

    Una vez que haya terminado de ejecutar los comandos en el shell raíz, debe escribir salida para abandonar el shell raíz y volver al modo de privilegios limitados.

    Sudo ejecuta un solo comando con privilegios de root. Cuando ejecutas comando sudo, el sistema le solicita la contraseña de su cuenta de usuario actual antes de ejecutar mando como usuario root. Por defecto, Ubuntu recuerda la contraseña durante quince minutos y no volverá a pedir una contraseña hasta que hayan transcurrido los quince minutos..

    Esta es una diferencia clave entre su y sudo. Su le cambia a la cuenta de usuario root y requiere la contraseña de la cuenta de root. Sudo ejecuta un solo comando con privilegios de root: no cambia al usuario root ni requiere una contraseña de usuario root separada.

    Ubuntu vs otras distribuciones de Linux

    El comando su es la forma tradicional de adquirir permisos de root en Linux. El comando sudo ha existido por mucho tiempo, pero Ubuntu fue la primera distribución popular de Linux en ir a sudo-solo por defecto. Cuando instala Ubuntu, se crea la cuenta raíz estándar, pero no se le asigna una contraseña. No puede iniciar sesión como root hasta que asigne una contraseña a la cuenta de root.

    Hay varias ventajas de usar sudo en lugar de su por defecto. Los usuarios de Ubuntu solo tienen que proporcionar y recordar una sola contraseña, mientras que Fedora y otras distribuciones requieren que cree contraseñas de cuenta de usuario y de root por separado durante la instalación.

    Otra ventaja es que disuade a los usuarios de iniciar sesión como usuario root (o usar su para obtener un shell de root) y mantener el shell de root abierto para realizar su trabajo normal. Ejecutar menos comandos como root aumenta la seguridad y evita cambios accidentales en todo el sistema.

    Las distribuciones basadas en Ubuntu, incluyendo Linux Mint, también usan sudo en lugar de su por defecto.

    Algunos trucos

    Linux es flexible, por lo que no hace falta mucho trabajo para que su trabajo funcione de manera similar a sudo, o viceversa.

    Para ejecutar un solo comando como usuario root con su, ejecute el siguiente comando:

    su -c 'comando'

    Esto es similar a ejecutar un comando con sudo, pero necesitará la contraseña de la cuenta raíz en lugar de la contraseña de su cuenta de usuario actual.

    Para obtener un shell raíz interactivo completo con sudo, ejecute sudo -i.

    Tendrá que proporcionar la contraseña de su cuenta de usuario actual en lugar de la contraseña de la cuenta raíz..

    Habilitando el usuario root en Ubuntu

    Para habilitar la cuenta de usuario root en Ubuntu, use el siguiente comando para establecer una contraseña para ella. Ten en cuenta que Ubuntu recomienda en contra de esto..

    sudo passwd root

    Sudo le solicitará la contraseña de su cuenta de usuario actual antes de que pueda establecer una nueva contraseña. Use su nueva contraseña para iniciar sesión como root desde un indicador de inicio de sesión de terminal o con el comando su. Nunca debe ejecutar un entorno gráfico completo como usuario root. Esta es una práctica de seguridad muy deficiente y muchos programas se niegan a trabajar..

    Agregar usuarios al archivo de Sudoers

    Solo las cuentas de tipo administrador en Ubuntu pueden ejecutar comandos con sudo. Puede cambiar el tipo de una cuenta de usuario desde la ventana de configuración de Cuentas de usuario.

    Ubuntu designa automáticamente la cuenta de usuario creada durante la instalación como una cuenta de administrador.

    Si está usando otra distribución de Linux, puede otorgar a un usuario permiso para usar sudo ejecutando el visudo comando con privilegios de root (así que ejecute su primero o uso su -c).

    Agregue la siguiente línea al archivo, reemplazando usuario con el nombre de la cuenta de usuario:

    usuario ALL = (ALL: ALL) ALL

    prensa Ctrl-X y entonces Y para guardar el archivo. También puede agregar un usuario a un grupo especificado en el archivo. Los usuarios en los grupos especificados en el archivo tendrán automáticamente privilegios de sudo.

    Versiones gráficas de su

    Linux también admite versiones gráficas de su, que solicitan su contraseña en un entorno gráfico. Por ejemplo, puede ejecutar el siguiente comando para obtener una solicitud de contraseña gráfica y ejecutar el explorador de archivos Nautilus con permisos de root. prensa Alt-F2 para ejecutar el comando desde un cuadro de diálogo gráfico de ejecución sin iniciar un terminal.

    gksu nautilus

    El comando gksu también tiene algunos otros trucos bajo la manga: conserva la configuración actual de su escritorio, por lo que los programas gráficos no se verán fuera de lugar cuando los inicie como un usuario diferente. Los programas como gksu son la forma preferida de lanzar aplicaciones gráficas con privilegios de root.

    Gksu usa un backend basado en sudo o sudo, dependiendo de la distribución de Linux que estés usando.


    ¡Ahora debes estar preparado para enfrentar tanto a su como a sudo! Encontrarás ambos si usas diferentes distribuciones de Linux..