¿Qué es sudo en Linux y cómo usarlo? - 3 - septiembre 30, 2022

¿Qué es sudo en Linux y cómo usarlo?

Considere el cómic anterior del excelente webcomic XKCD. El perezoso en la silla quiere que su amigo les haga un sándwich, pero carecen de la autoridad para obligarlos a hacerlo. Es decir, hasta que invoca el poderoso comando sudo. Después de lo cual, se hará un sándwich de una forma u otra.

¿Qué es sudo en Linux y cómo usarlo? - 5 - septiembre 30, 2022

Si bien probar Sudo en una persona en la vida real probablemente no sea tan efectivo, es el comando mágico que supera todos los obstáculos en el mundo de Linux. ¿Qué es sudo? ¿Por qué existe? La respuesta está en cómo maneja Linux los permisos.

Esta caricatura es Creative Commons Reconocimiento-No comercial por XKCD

Comprender los permisos de usuario de Linux

Linux se considera un sistema operativo seguro debido a la forma en que maneja los permisos. Si bien los sistemas operativos como macOS (que compartió un ancestro con Linux) y Windows ahora se parecen más a Linux en este sentido, el sistema operativo de código abierto sigue siendo algo único.

¿Qué es sudo en Linux y cómo usarlo? - 7 - septiembre 30, 2022

Comprender cómo Linux maneja los permisos hace que sea mucho más fácil comprender el comando sudo. Todos los sistemas operativos modernos tienen un nivel de permisos de administrador o usuario raíz. Si tiene una cuenta de administrador o raíz, puede cambiar cualquier configuración, eliminar cualquier dato y, en general, hacer lo que quiera con la computadora.

Eso incluye cosas que probablemente no debería hacer que pueden provocar la pérdida de datos o la necesidad de una limpieza completa y reinstalación.

¿Qué es sudo en Linux y cómo usarlo? - 9 - septiembre 30, 2022

Linux no hace que los permisos de nivel de usuario raíz sean los predeterminados. En cambio, su cuenta no puede acceder a las partes realmente sensibles del sistema sin elevar su nivel de permiso. Eso significa que el sistema le pedirá que ingrese la contraseña de administrador cuando quiera hacer algo fuera de lo común usando una interfaz gráfica.

Sin embargo, cuando desee utilizar la línea de comandos de la Terminal para hacer las cosas, sudo es la forma más segura y eficiente de hacerlo.

Sudo y la Terminal

¿Qué es sudo en Linux y cómo usarlo? - 11 - septiembre 30, 2022

Hay dos formas de otorgarse permisos elevados en Linux. Una es iniciar sesión como usuario raíz de forma permanente. El problema con esto es que cualquier otra persona que pueda acceder a la computadora puede causar estragos, e incluso usted puede hacerlo por accidente. Sudo eleva sus permisos solo por un corto tiempo para ejecutar los comandos específicos que lo siguen.

Sintaxis de Sudo

La sintaxis de Sudos (el formato de los comandos) es simple. Simplemente escriba sudo seguido del comando que desea ejecutar.

¿Qué es sudo en Linux y cómo usarlo? - 13 - septiembre 30, 2022

Por ejemplo, sudo apt-get update actualizará todos los repositorios de aplicaciones enumerados en el archivo correspondiente. Si intentara ejecutarlo sin sudo, recibiría un mensaje de error que le indicaría que no tiene permiso. Por cierto, este es generalmente el primer comando sudo que querrá ejecutar después de una nueva instalación de su distribución de Linux favorita.

El su en sudo

El su en sudo es la abreviatura de superusuario y es un comando independiente. El comando su le permite cambiar los privilegios de usuario a los que sudo lo eleva.

Aunque sudo lo eleva a root temporalmente, su lo cambia a otro usuario con privilegios adecuados. Eso puede parecer una distinción sin importancia, pero hay buenas razones para cambiar la cuenta a la que Sudo eleva a un usuario.

En primer lugar, cambiar la cuenta significa que los usuarios habituales no conocen la contraseña de root. En segundo lugar, hay un registro de todos los comandos sudo, lo que significa que el administrador del sistema (raíz) puede buscar quién emitió los comandos su.

La sintaxis de su es esencialmente la misma que sudo:

  • Su NOMBRE DE USUARIO -c COMANDO

Reemplace USERNAME con el usuario deseado para ejecutar el comando y COMMAND con el comando de Linux que desea ejecutar.

Si desea ejecutar varios comandos como otro usuario, simplemente use:

  • Su USUARIO
  • Reemplace USUARIO con la identidad de la cuenta de usuario deseada.

Si usa su solo, Linux cambiará a la otra cuenta de usuario hasta que use el comando exit. Es importante recordar que este o el próximo usuario que acceda a la terminal en esa sesión seguirá teniendo permisos elevados. Esta es la razón por la que generalmente es mejor usar sudo en lugar de su.

El límite de tiempo de Sudo

¿Qué es sudo en Linux y cómo usarlo? - 15 - septiembre 30, 2022

La primera vez que use un comando sudo, deberá ingresar una contraseña. Luego, esa contraseña seguirá siendo válida durante 15 minutos. Puede cambiar este valor predeterminado ejecutando el comando sudo visudo y cambiando timestamp_timeout= a un valor más largo o más corto. Sin embargo, no le recomendamos que haga esto a menos que tenga una buena razón para extender o acortar el tiempo de validez de una contraseña de sudo.

Conmutadores de opciones de Sudo

Aunque la sintaxis de sudo es simple, vale la pena conocer varios modificadores. Estos comandos abren información adicional o lo ayudan a controlar la sesión de sudo:

  • -H muestra la sintaxis y la información del comando para sudo.
  • -V muestra la versión actual de sudo en su máquina.
  • -V actualiza el límite de tiempo de sudo, reiniciando el reloj.
  • -L enumera los privilegios de usuario.
  • -K elimina la sesión sudo actual inmediatamente, eliminando los privilegios elevados.

Hay muchas más opciones integradas en sudo, y puede verlas todas usando el primer modificador -H mencionado anteriormente.

¿Qué es sudo en Linux y cómo usarlo? - 17 - septiembre 30, 2022

La captura de pantalla anterior es lo que resulta cuando usa la opción de ayuda.

Comandos útiles de Sudo

Entonces, ¿qué comandos potenciados por sudo deberían saber todos los usuarios de Linux? Ya hemos cubierto Sudo apt-get update, pero tome nota de esto también:

  • Sudo apt-get upgrade actualizará todos los paquetes instalados.
  • Sudo apt-get install <package-name> instala el software de su elección; simplemente cambie el nombre del paquete por el que desea instalar.
  • Si no conoce el nombre del paquete, use dpkg list.
  • Si desea eliminar un paquete instalado de la terminal, use sudo apt-get remove <package-name (nuevamente sustituyendo el nombre del paquete específico en cuestión).

Es probable que estos sean los primeros comandos sudo que tendrá que usar, pero como aprendió anteriormente, cualquier comando puede seguir a sudo, pero solo debe usar los que necesitan mayores privilegios.