El comando sudo en Linux significa “SuperUser DO“. Es un comando poderoso que permite a los usuarios ejecutar programas u otros comandos con los privilegios de seguridad de otro usuario, normalmente el “superusuario“. Esto puede ser particularmente útil cuando ciertas operaciones requieren permisos de nivel superior a los otorgados a las cuentas de usuario estándar.
El superusuario, también conocido como el usuario root en Linux, tiene el nivel más alto de acceso al sistema, pudiendo leer, escribir y modificar cualquier archivo. Sin embargo, ejecutar comandos como superusuario puede ser potencialmente riesgoso, ya que podría conducir inadvertidamente a cambios en todo el sistema o pérdida de datos si se usa mal un comando o se comete un error.
Por lo tanto, para proteger el sistema, la mayoría de las distribuciones de Linux restringen el acceso directo a la cuenta de superusuario. Ahí es donde entra en juego sudo
. Sirve como un guardián, permitiendo a los usuarios autorizados ejecutar operaciones sensibles o modificar la configuración del sistema mientras registra todos los comandos y sus respectivos resultados. Esto puede ser útil para auditorías del sistema e identificar cómo se realizaron ciertos cambios.
Cuando escribes sudo
antes de un comando, el sistema verifica un archivo especial llamado archivo sudoers para ver si el usuario tiene permiso para ejecutar el comando como superusuario. Si lo tiene, se le puede pedir que introduzca su contraseña (dependiendo de la configuración del sistema). Después de la autenticación, el sistema ejecutará el comando con privilegios de superusuario.
Aquí tienes algunas formas de utilizar el comando sudo
:
Ejecutar un comando como root
El uso básico de sudo
es ejecutar un comando como usuario root.
Ejemplo:
Para ejecutar el comando ls
como root, utilizarías:
sudo ls
Cambiar al usuario root
Puedes cambiar al usuario root usando sudo su
. Esto te pedirá tu contraseña, no la contraseña de root.
sudo su
Aunque sudo su
es comúnmente utilizado, es preferible utilizar sudo -i
o sudo -s
para iniciar una sesión como root, ya que proporcionan un entorno de shell más completo.
Ejecutar un comando como un usuario diferente
Puedes usar sudo
para ejecutar un comando como un usuario diferente usando la opción -u
seguida del nombre de usuario.
Ejemplo:
Para ejecutar ls
como el usuario mateo
, utilizarías:
sudo -u mateo ls
Editar archivos como root
Puedes usar sudo
para editar archivos como el usuario root.
Ejemplo:
Para editar el archivo /etc/hosts
usando nano como el usuario root, utilizarías:
sudo nano /etc/hosts
Ejecutar un comando sin contraseña
Puedes configurar sudo
para ejecutar comandos específicos sin contraseña añadiendo una línea al archivo sudoers (usa sudo visudo
para editar este archivo).
Ejemplo:
Para permitir que todos los usuarios ejecuten ls sin contraseña, añadirías:
ALL ALL = NOPASSWD: /bin/ls
Actualizar las credenciales en caché de sudo
De forma predeterminada, sudo almacena en caché tu contraseña durante 15 minutos. Si quieres actualizar las credenciales en caché antes de que expiren (por ejemplo, si estás a punto de dejar tu ordenador), puedes utilizar sudo -v
.
sudo -v
Invalidar las credenciales en caché de sudo
Si quieres invalidar manualmente las credenciales en caché de sudo (por ejemplo, si has terminado de realizar tareas administrativas), puedes utilizar sudo -k
.
sudo -k
Más comandos de Linux:
Operaciones de Directorios | rmdir · cd · pwd · exa · ls |
Operaciones de Archivos | cat · cp · dd · less · touch · ln · rename · more · head |
Operaciones de Sistema de Archivos | chown · mkfs · locate |
Redes | ping · curl · wget · iptables · mtr |
Búsqueda y Procesamiento de Texto | find · grep · sed · whatis · ripgrep · fd · tldr |
Información y Gestión del Sistema | env · history · top · who · htop · glances · lsof |
Gestión de Usuarios y Sesiones | screen · su · sudo · open |
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.