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

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

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

Sudo y su son dos formas diferentes de obtener privilegios de root. Cada uno funciona de manera diferente y las diferentes distribuciones de Linux utilizan diferentes valores predeterminados.

El usuario root

su y 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 completos y puede hacer cualquier cosa en el sistema. Los usuarios normales de Linux operan con permisos reducidos; por ejemplo, no pueden instalar software ni escribir en directorios del sistema.

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

Su vs. Sudo

El comando su pasa al superusuario, o usuario root, cuando lo ejecuta sin opciones adicionales. Deberá ingresar la contraseña de la cuenta raíz. Sin embargo, eso no es todo lo que hace el comando su; puede usarlo para cambiar a cualquier cuenta de usuario. Si ejecuta el en Bob comando, se le pedirá 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 salir para salir del shell raíz y volver al modo de privilegios limitados.

Sudo ejecuta un solo comando con privilegios de root. Cuando corres comando sudo, el sistema le pedirá la contraseña de su cuenta de usuario actual antes de ejecutar orden como usuario root. De forma predeterminada, Ubuntu recuerda la contraseña durante quince minutos y ya no la pedirá 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 root. Sudo ejecuta un solo comando con privilegios de root: no cambia al usuario root y no requiere una contraseña de usuario root por separado.

Ubuntu en comparación con otras distribuciones de Linux

El comando su es la forma tradicional de obtener permisos de root en Linux. El comando sudo ha existido durante mucho tiempo, pero Ubuntu fue la primera distribución popular de Linux en usar sudo solo de forma predeterminada. Cuando instala Ubuntu, se crea la cuenta raíz estándar, pero no se le asigna ninguna 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 necesitan proporcionar y recordar una única contraseña, mientras que Fedora y otras distribuciones requieren que cree contraseñas separadas para la raíz y las cuentas de usuario durante la instalación.

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

Las distribuciones basadas en Ubuntu, incluido Linux Mint, también usan sudo en lugar de su de forma predeterminada.

Algunos consejos

Linux es flexible, por lo que no se necesita mucho trabajo para que su funcione igual que 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 la cuenta de usuario actual.

Para obtener un shell de root completo e interactivo con sudo, ejecute sudo –i.

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

Habilitación del usuario root en Ubuntu

Para habilitar la cuenta de usuario raíz en Ubuntu, use el siguiente comando para establecer una contraseña. Tenga en cuenta que Ubuntu no recomienda esto.

sudo contraseña root

Sudo le pedirá la contraseña de su cuenta de usuario actual antes de que pueda establecer una nueva contraseña. Utilice 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 mala y muchos programas se negarán a funcionar.

Agregar usuarios al archivo Sudoers

Solo las cuentas de tipo administrador en Ubuntu pueden ejecutar comandos con sudo. Puede cambiar el tipo de 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 cuenta de administrador.

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

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

usuario TODOS = (TODOS: TODOS) TODOS

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

Versiones gráficas de Su

Linux también admite las 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. apurarse Alt-F2 para ejecutar el comando desde un cuadro de diálogo de ejecución gráfica sin iniciar una 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 de gráficos no se ven fuera de lugar cuando los ejecuta como un usuario diferente. Los programas como gksu son la forma preferida de iniciar aplicaciones gráficas con privilegios de root.

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

¡Ahora debería estar listo para conocer tanto a su como a sudo! Encontrará ambos si está utilizando diferentes distribuciones de Linux.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas