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

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

Considere el cómic anterior del excelente XKCD Webcomic. El compañero perezoso en la silla quiere que su amigo los haga un sándwich, pero carecen de la autoridad para hacer que lo hagan. Es decir, hasta que invoca el poderoso comando de sudo. Después de lo cual, se hará un sándwich de una forma u otra.

Si bien intentar sudo en una persona en la vida real probablemente no sea tan efectivo, es el comando mágico que supere cada obstáculo en el mundo de Linux. Que es sudo? ¿Por qué existe?? La respuesta radica en cómo Linux maneja los permisos.

Tabla de contenido

    Linux no hace permisos de nivel de usuario raíz el valor predeterminado. En cambio, su cuenta no puede llegar 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 del administrador cuando desee hacer algo fuera de lo común utilizando una interfaz gráfica.

    Sin embargo, cuando desea usar la línea de comando terminal para hacer las cosas, sudo es la forma más segura y eficiente de hacerlo.

    Sudo y la terminal

    Hay dos formas de darse permisos elevados en Linux. Uno es iniciar sesión como el 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 puede hacerlo por accidente. Sudo eleva sus permisos solo por poco 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, la "actualización de sudo apt-get" actualizará todos los repositorios de aplicaciones que se enumeran en el archivo relevante. Si intentó ejecutarlo sin sudo, recibirá un mensaje de error que le dice 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 abreviatura de "Superuser" y es un comando independiente. El comando "SU" le permite cambiar qué privilegios del usuario sudo lo eleva a.

    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 que sudo eleva a un usuario a.

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

    La sintaxis para SU es esencialmente la misma que sudo:

    Comando SU Nombre de usuario -C

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

    Si desea ejecutar múltiples comandos como otro usuario, simplemente use:

    SU usuario

    Reemplace el 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 "Salir."Es importante recordar esto o el próximo usuario para acceder al terminal en esa sesión aún tendrá permisos elevados. Por eso 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á que ingresar una contraseña. Entonces, esa contraseña seguirá siendo válida por 15 minutos. Puede cambiar este valor predeterminado ejecutando el comando sudo visudo y cambiar "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 cuánto tiempo sigue válida una contraseña de sudo.

    Interruptores de opción sudo

    Aunque la sintaxis 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:

    • -H Muestra su sintaxis e información de comando para sudo.
    • -V Muestra la versión actual para sudo en su máquina.
    • -V Actualiza el límite de tiempo de sudo, reiniciando el reloj.
    • -l Enumera los privilegios del usuario.
    • -k Mata la sesión actual de sudo de inmediato, eliminando privilegios elevados.

    Hay muchas más opciones integradas en sudo, y puede verlas todas utilizando el primer interruptor de H enumerado anteriormente.

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

    Comandos útiles de sudo

    Entonces, ¿qué comandos capacitados por sudo si todo usuario de Linux sabe?? Ya hemos cubierto la actualización de sudo apt-get, pero también tome nota de estos:

    • Actualización de sudo apt-get actualizará todos los paquetes instalados.
    • Instalación de sudo apt-get instala software de su elección; Simplemente cambie el nombre del paquete a la que desea instalar.
    • Si no conoce el nombre del paquete, use dpkg -lista.
    • Si desea eliminar un paquete instalado de la terminal, use sudo apt-get eliminar (Una vez más, sustituyendo el nombre específico del paquete en cuestión).

    Es probable que estos sean los primeros comandos de sudo que tendrá que usar, pero como ha aprendido anteriormente, cualquier comando puede seguir a sudo, pero solo debe usar los que necesitan privilegios más altos con él.