Hoy vamos a tratar de explicar de la forma más simple la diferencia entre los comandos su y sudo que son muy utilizados en distribuciones Debian y derivados. Y para resolver varias dudas que he recibido.

su: por sus siglas en inglés «Substitute User», se utilizar para convertirte en otro usuario sin tener que cerrar la sesión en curso. Vamos a ver que si usamos el comando su sin parámetros nos convertiremos directamente en usuario root, ejemplo:

su

Como vemos nos pedirá la contraseña de root y fijate una pequeña diferencia, si usamos nuestro usuario aparece un signo $ pero si estamos como root es #. Para salir del usuario root en este caso le damos exit, si queremos volver a nuestro usuario o a otro, hacemos

# su nombre_de_usuario.

sudo: en inglés switch user do, permite la ejecución de comandos como si fueran root o algún otro usuario de manera segura, siempre y cuando esten cargados dichos usuarios en el archivo /etc/sudoers.

Si querés ejecutar sudo en debian desde una instalación limpia veras que no funciona, nos dará el siguiente mensaje «is not in the sudoers file. This incident will be reported»

sudo

Para solucionarlo vamos a hacer una pequeña modificación para que podamos usar este comando. Y será agregar el usuario al archivo sudoers en etc/sudoers modificalo con permisos de root claro.

# nano /etc/sudoers

Y debajo de la línea que dice root ALL=(ALL) ALL colocamos nuestro usuario de la siguiente forma.

user1 ALL=(ALL) ALL

Una diferencia con respecto a su, es que cuando ejecutemos un comando no nos pedirá la clave de root si no la del usuario. Para que pida o no clave mira al final de la publicación. Un ejemplo claro de como abrír nautilus como root sería:

 $ sudo nautilus

Si queremos ejecutar sudo como otro usuario deberíamos hacer algo como

 $ sudo -u user2 nautilus

Donde user2 es otro usuario al actual.

Algunos consideran el comando sudo como potencialmente peligroso dado que otorga un tiempo de acceso con otras credenciales, que generalmente es de 15 minutos, pasado ese tiempo se nos volverá a pedir la contraseña pero durante ese período podremos seguir ejecutando comandos con otro usuario, para aquellos que no quieran que este tiempo sea tan prolongado, dado que en 15 min se pueden hacer muchas cosas, vamos a agregar una línea de código en el archivo sudoers, para hacer que este período de gracia sea cero y siempre pida credenciales.

$ sudo nano /etc/sudoers

o directamente se puede configurar por medio del comando visudo

$ sudo visudo

Y como última linea tipea o copia y pega lo siguiente:

Defaults:ALL timestamp_timeout=0

¿Como podemos hacer que para que no pida contraseña cada vez que ejecutamos sudo?

Simple modificamos el archivo sudoers y agregamos el usuario en cuestión con el parámetro NOPASSWD, si queremos que siempre pida password lo cambiamos por el parámetro PASSWD

sudo1

4 Comentarios

Deja un comentario