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.
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:
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”
# 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
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
No hay comentarios:
Publicar un comentario