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


Considere el cómic anterior del excelente cómic web XKCD. El perezoso de 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.

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 Linux maneja los permisos.

Comprender los permisos de usuario de Linux

Linux se considera un sistema operativo seguro debido a cómo maneja los permisos. Si bien los sistemas operativos como macOS (que compartió un antepasado 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.

Comprender cómo Linux maneja los permisos lo convierte en un es mucho más fácil entender el comando sudo. Todos los sistemas operativos modernos tienen un nivel de permisos de usuario "administrador" o "raíz". Si tiene una cuenta de administrador o root, 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 y que pueden provocar la pérdida de datos o la necesidad de una limpieza completa y reinstalación.

Linux no lo hace No establece los permisos de nivel de usuario root como 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 desee hacer algo fuera de lo común utilizando una interfaz gráfica.

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

Sudo y la Terminal

Hay dos formas de otorgarse permisos elevados en Linux. Una es iniciar sesión como usuario root 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 Sudo (el formato del comando) es simple. Simplemente escriba "sudo" seguido del comando que desea ejecutar.

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

La "Su" en Sudo

La "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 los 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 (root) 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 NOMBRE DE USUARIO con el usuario deseado para ejecutar el comando y COMANDO con el comando de Linux que desea ejecutar.

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

Su USUARIO

Reemplace USER con la identidad de cuenta de usuario deseada.

Si usa su solo, Linux cambiará a la otra cuenta de usuario hasta que use el comando "salir". Es importante recordar que este o el próximo usuario que acceda al terminal en esa sesión aún tendrá 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

La primera vez que usa un comando sudo, Tendrás que ingresar una contraseña. Entonces, esa contraseña seguirá siendo válida durante 15 minutos. Puede cambiar este valor predeterminado ejecutando el comando sudo visudoy 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 que una contraseña de sudo permanece válida.

Cambios de opciones de Sudo

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

  • -hle muestra la sintaxis y la información del comando para sudo.
  • -Vmuestra la versión actual de sudo en su máquina.
  • -vactualiza el límite de tiempo de sudo, reiniciando el reloj.
  • -lenumera los privilegios del usuario.
  • -kmata la sesión de 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.

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

    Comandos Sudo útiles

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

    • Sudo apt-get upgradeactualizará todos los paquetes instalados.
    • Sudo apt-get install 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 (nuevamente sustituyendo el nombre del paquete específico en cuestión).
    • Es probable que estos sean los primeros comandos de sudo que tendrá que usar, pero como aprendió anteriormente, cualquier comando puede seguir a sudo, pero solo debe usar aquellos que necesiten privilegios más altos con él.

      Artículos Relacionados:


      30.06.2021