Linux

Todo sobre los comandos Su y Sudo en el sistema Linux

En GNU/Linux (y Unix en general), hay un super-usuario llamado root. El equivalente en Windows para root es el Administrador. El super-usuario puede hacer todo, por lo que trabajar a diario como super-usuario puede ser peligroso.

Como super-usuario puedes escribir un comando incorrectamente y dañar el sistema. Normalmente, se utiliza el usuario común que tiene privilegios para la mayoría de las tareas. En algunos casos, el usuario tiene que ser root, pero en la mayoría de los casos puede ser un usuario común.

Por defecto, la contraseña del root está bloqueada en Ubuntu. Esto significa que no podrás hacer login como root o usar el comando «su«. En lugar de ello, el instalador configurará el comando «sudo» para permitir que el usuario creado durante la instalación pueda ejecutar todos los comandos de administración.

Puedes, a partir de la terminal, usar el comando «sudo» para los comandos que requieren privilegios de root. Todos los programas en el menú usarán una interfaz gráfica para sudo, que te preguntarán la contraseña. Cuando se te pregunte por la contraseña, tendrás que proporcionarla. Esto significa que la contraseña del root no es necesaria.

Observaciones importantes sobre su y sudo

– La contraseña es almacenada por 15 minutos. Después de eso, tendrás que introducir la contraseña nuevamente.

– Tu contraseña no será mostrada en la pantalla mientras la escribes en la terminal, solo se mostrará con asteriscos cuando la escribas por la interfaz gráfica.

– Para ejecutar la configuración gráfica con sudo, simplemente inicia la aplicación en el menú.

– Para ejecutar un programa utilizando sudo y que normalmente ejecutas como usuario, pulsa ALT + F2 y escribe gksudo gedit. Para los usuarios de Kubuntu, utiliza kdesu en lugar de gksudo.

Comandos Su y Sudo

– Para usar sudo en la línea de comandos, escribe sudo antes del comando, como se muestra a continuación:

Ejemplo 1:

sudo chown bob *

Ejemplo 2:

sudo /etc/init.d/networking restart

Nunca utilices el comando sudo para ejecutar programas gráficos. Siempre debes usar gksudo o kdesu para ejecutar estos programas, de lo contrario, los intentos de inicio de sesión pueden fallar.

Para iniciar un shell como root, por ejemplo una terminal de comandos que puedan ejecutar comandos de root, utiliza:

sudo -i

Permitir que otros usuarios usen sudo

Para dar permisos administrativos para un nuevo usuario, abre Usuarios y Grupos desde el menú Sistema > Administración. Después, haz click en Usuario y, a continuación, haz click en Propiedades. Selecciona la pestaña Privilegios de Usuario. En la pestaña, encuentra la opción Ejecutar Tareas de Administración del Sistema y actívala.

En la terminal, se puede hacer con el siguiente comando, donde $usuario debe ser el nombre del usuario:

sudo adduser $usuario admin

Ventajas de usar el comando sudo

Los beneficios de dejar el root desactivado por defecto son:

– El instalador tiende a hacer menos preguntas.
– Los usuarios no necesitan recordar una contraseña adicional, que es muy probable que la olviden.
– Evita el inicio de sesión donde se puede hacer todo. La contraseña será solicitada antes de que los cambios puedan ocurrir.
– Sudo agrega un registro de cada comando que ejecuta (en /var/log/auth.log). Si haces algo mal, siempre se puede mirar qué comandos se ejecutaron. También es interesante para la auditoría.

Te recomendamos la lectura:  Ubuntu 18.04.3 LTS hace que sea mas fácil actualizar el Kernel sin reiniciar

– Cada ‘cracker’ tratando de usar la fuerza-bruta va a tratar de usar la contraseña de la cuenta de root primero. Lo que ellos no saben es el nombre de usuario de los usuarios de la máquina.

– Permite una fácil transferencia de permisos administrativos, en un período de tiempo corto o largo, agregar o quitar usuarios de un grupo, no comprometiendo la cuenta del usuario root.

– Sudo puede ser configurado con una política de seguridad mucho más restrictiva.

Desventajas de usar el comando sudo

Aunque para el escritorio los beneficios del uso de sudo sean grandes, hay algunos problemas que deben ser reconocidos:

– Redirigir la salida de los comandos ejecutados con sudo puede ser muy difícil para los nuevos usuarios. Considera por ejemplo sudo ls > /root/nombredearchivo. No va a funcionar porque es el shell que intenta escribir en el archivo. Puedes usar ls | sudo tee -a /root/nombredearchivo para adjuntar el archivo o ls | sudo tee /root/nombredearchivo para sobreescribir el contenido.

– En varios escritorios de trabajo, el único usuario local en un sistema es el usuario root. Todos los otros usuarios son importados mediante el uso de técnicas de NSS como nss-ldap. Para configurar una estación de trabajo o arreglarla, en el caso de una falla de la red, en donde nss-ldap deja de funcionar, la cuenta de root es requerida. Esto imposibilita que el sistema sea utilizado. En este caso se va a requerir un usuario local adicional o una cuenta de root con contraseña.

Concepciones Erróneas

– ¿Sudo no es menos seguro que su?

El modelo de seguridad es el mismo y, por lo tanto, estos dos sistemas se dividen su debilidad principal. Cualquier usuario que pueda usar su o sudo tiene privilegios administrativos en el sistema.

Si la cuenta del usuario está comprometida por un atacante, este también va a ganar privilegios de root. La cuenta de usuario es el eslabón débil de la cadena, que debe ser protegida con el mismo cuidado del root.

El comando sudo provee algunas de las características que animan a las diferentes hábitos de trabajo, que impactan positivamente en la seguridad del sistema.

El comando sudo es comúnmente utilizado para ejecutar un comando, mientras que su se suele utilizar para abrir un shell y ejecutar varios comandos.

La solución de sudo reduce la probabilidad de que un shell logueado con el usuario root sea dejado abierto, y alienta a los usuarios a disminuir el uso del privilegio de root, aumentando así la seguridad del entorno de trabajo.

¿Yo no puedo entrar en modo de usuario único?

El programa Sulogin en Ubuntu fue hecho para lidiar con el caso del patrón de una contraseña de root trabada.

Configuración de sudo para que siempre pida contraseña

Cuando ejecutas una aplicación como root en Ubuntu, usando sudo, la sesión no te pedirá contraseña en los próximos 15 minutos. Esta es la configuración predeterminada que muchos creen que no es segura, ya que las aplicaciones sospechosas pueden actuar sobre los archivos del sistema en este intervalo. Haciendo esta configuración, el sistema siempre va a pedir la contraseña cuando una aplicación se ejecute como root.

1. Abre el archivo /etc/sudoers para modificarlo según lo siguiente:

sudo visudo

2. Agrega la siguiente línea al final del archivo y guárdalo:

Defaults:nombre_de_usuario timestamp_timeout=0

Volviendo a la cuenta de root tradicional

Nota: ¡Esto no es recomendado!

Te recomendamos la lectura:  Se lanza la segunda Beta de Elementary OS 5.0 Juno

Habilitación de la cuenta de root

Para habilitar la cuenta de root (por ejemplo: establecer una contraseña) usa:

sudo passwd root

– Escribe la contraseña de tu cuenta de usuario normal.
– Escribe la nueva contraseña para el usuario root.
– Confirma la nueva contraseña.

Deshabilitar la cuenta de root

Si has habilitado la cuenta de root y ahora quieres deshabilitarla, utiliza el siguiente comando:

sudo passwd -l root

Esto bloquea la cuenta de root.

Cómo desactivar sudo

Este decisión provocará una caída en la seguridad del sistema, por lo que solo hazlo si estás consciente de lo que estás haciendo.

Tras el arranque y el inicio de sesión, pulsa ALT+F2 y ejecuta el comando:

gksu gnome-terminal

Esto hará que los procedimientos no requieran más el uso de sudo. Como se ha dicho, puedes anular el sudo al abrir la terminal precedida de gksu.

Hacer que sudo pida contraseña de root

Puedes hacer que sudo pida contraseña de root en lugar de la de tu usuario. Esto se puede hacer agregando la palabra clave rootpw en la línea que comienza con los valores predeterminados del archivo /etc/sudoers.

Habilitar el inicio de sesión gráfico como root

Es altamente recomendable no permitir que el root ingrese gráficamente.

En Gnome

– Abre Sistema –> Administración –> Configuración de la Pantalla de Inicio de Sesión
– Haz click en la pestaña Seguridad
– Marca “Permitir al root iniciar una sesión GDM”

En KDE

– Abre la carpeta /etc/kde3/kdm/ en Konqueror.
– Haz click con el botón derecho en el archivo kdmrc y luego en Acciones –> ‘Editar como root’.
– En la línea 246 debe estar AllowRootLogin=false. Cámbiala por ‘true’.
– Guarda todo y cierra.

Comandos Su y Sudo

En la consola

– Cambia a una terminal virtual con Ctrl+Alt+F1 (o F2, F3, etcétera). Podrás volver a tu sesión con Ctrl+Alt+F7.
– Inicia sesión con tu nombre de usuario.
– Cambia a root con el comando «sudo -i».
– Inicia un nuevo servidor X en :1 con «startx — :1».
– Ten cuidado, no eres un super-usuario. No te olvides de cerrar sesión de X y de la consola cuando hayas terminado.

¿Cuál es la diferencia entre su y sudo?

Ambos comandos son recordados cuando se desean realizar tareas con privilegios administrativos en GNU/LINUX. Aunque sean utilizados en situaciones similares, ambos son diferentes y tienen propósitos y comportamientos distintos.

Comando su

De acuerdo con la documentación oficial, el su (Switch User) sirve para cambiar el usuario corriente o invocar el superusuario.

Para resumir, la función del comando su es cambiar de usuario.

Comando sudo

El comando sudo no tiene la función de cambiar de usuario. Su trabajo es permitir que un usuario común pueda ejecutar algún comando con permisos elevados, sin la necesidad de cambiar de identidad.

Para poder usar sudo, es necesario ser integrante del grupo «sudo». Si un usuario que no tenga privilegios trata de ejecutar un comando con el uso de sudo, el evento se notificará al administrador del sistema.

También te puede interesar: Cómo instalar paquetes .tar.gz y .tar.bz2 en Linux.

Publicaciones relacionadas

Deja una respuesta

Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar mi política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected].

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

Acepto la política de privacidad *

Botón volver arriba