Qué diferencia hay entre su y sudo

Diferencia entre sudo y su

A la hora de gestionar una máquina en linux ya bien sea un servidor o un ordenador personal, lo más conveniente es utilizar un usuario sin permisos de administración. Para adquirir esos permisos podemos usar estos dos comandos que no son iguales entre sí, por eso vamos a ver la diferencia entre sudo y su en Linux.

Hay creencias como que un comando puede ser menos seguro que el otro, o que no gestionan los permisos de administración de la misma forma. En este artículo voy a intentar aclarártelo todo de la forma más sencilla para que sepas exactamente lo que es cada uno.

Qué es el comando SU de linux

El comando SU son las siglas de substitute user (usuario sustituto), ya que es su función principal. SU nos permite utilizar el terminal como si fuésemos otro usuario, con el pequeño matiz de que no tenemos que cerrar la sesión que tenemos con nuestro usuario.

Como comentaba al principio, este comando se usa para trabajar como root sobre la consola sin salir de nuestro usuario habitual, y por supuesto debemos conocer la contraseña de este usuario para poder cambiar.

Si trabajamos con una interfaz gráfica para Linux, hay funciones que requieren permisos de administración y que nos solicitarán directamente la contraseña de administrador para trabajar sobre este usuario en dicha aplicación, como por ejemplo synaptic.

Podemos tomar el rol de cualquier usuario del sistema del que conozcamos la contraseña, en caso de que no pongamos un usuario nos conectaremos directamente a la sesión de root, y sino al que hayamos elegido, te pongo los dos ejemplos:

[user@localhost]$ su vichaunter
Contraseña:

[user@localhost]$ su           <-- este se conectará a root

En cuanto hayamos tomado el control del otro usuario estaremos trabajando sobre la consola con sus privilegios, y será persistente hasta que escribamos exit, momento en el que volveremos a nuestro usuario con el que hayamos iniciado la sesión.

Léete también  Cómo actualizar automáticamente el blocklist de Transmission en Linux

Podemos hacer el login con su de dos maneras, la primera sería como he puesto hace un momento, y la segunda utilizando un guión entre el su y el nombre del usuario, como su – vichaunter. La diferencia es que en el caso de no utilizar guión simplemente somos otro usuario en el terminal, pero si ponemos el guión las variables de entorno y de sistema se configuran para el usuario al que accedemos (por si queremos trabajar más en profundidad con ese usuario).

En el caso de los servidores hay que tener mucho ojo con el password que se elige para la cuenta root, ya que se pueden realizar ataques con este comando para tratar de ganar permisos.

Qué es el comando SUDO de linux

Sudo sirve para ejecutar un único comando como otro usuario. En este caso no se toma el control del otro usuario al ser de un único uso, y no nos tenemos que preocupar de su persistencia en el tiempo o en la sesión.

Existen también algunas limitaciones en cuanto a quién puede ejecutar el comando y viene todo definido en el archivo /etc/sudoers, por lo que podemos escoger a qué usuarios permitir utilizarlo.

No te creas que es menos seguro, ya que también es necesario conocer la contraseña aunque en este caso es la del usuario activo, no la del que se tomará la identidad, y tendremos un tiempo determinado para poder ejecutar más comandos como sudo sin tener que poner la contraseña, lo que se llama «período de gracia», aunque hay que tener mucho ojo con no dejar nuestro usuario sin supervisión mientras este dure.

Léete también  Monit reinicia continuamente apache [Solucionado]

De ahí que se pueda limitar los usuarios que puedan coger estos permisos en el archivo que comentaba antes.

Diferencias entre su y sudo en linux

La diferencia principal es que su requiere la contraseña del usuario al que se va a suplantar, mientras que sudo requiere solo la del usuario que va a usar el comando.

En el caso de sudo se puede limitar los usuarios que pueden usar el comando, y en su solo los sistemas que usan wheel pueden hacerlo, que en GNU no está permitido.

Su nos permite trabajar con una sesión como otro usuario, mientras que sudo solo nos permite ejecutar un comando, o varios seguidos con poner una vez la contraseña, pero seguimos siendo nuestro usuario si no ponemos sudo delante de los comandos.

¿Sueles administrar sistemas linux?


AYUDANOS a poder seguir dando respuestas. Te podemos echar una mano y tú también a nosotros, símplemente dale a me gusta.