Cuando ejecute aplicaciones administrativas en Linux, puede usar el comando su («switch user») para cambiar al superusuario (root), o puede usar el comando sudo («super user do»).
Una forma de saber cuándo usar el comando sudo es si está intentando ejecutar comandos en la terminal sólo para obtener errores de «acceso denegado» u «la operación requiere privilegio de superusuario». Estos errores pueden ocurrir si la distribución de Linux – como Ubuntu – no permite el uso del usuario root. Una vez que use el comando sudo, ese comando específico puede ejecutarse con derechos elevados.
Sin embargo, si opta por usar el comando su, está cambiando todo el usuario a root, lo que significa que incluso después del primer comando, cada uno de los siguientes también se ejecuta con credenciales de root. Esto hace que sea muy fácil ejecutar accidentalmente comandos elevados, lo que podría causar mucho daño si no se tiene cuidado.
Para repetir: sudo funciona sólo para cada comando que comienza como «sudo», mientras que su permite que cada comando en ese prompt se ejecute como superusuario sin necesidad de escribir sudo o su antes de cada uno de ellos.
Cómo funciona
Aunque funcionan de forma diferente, puede comparar el comando sudo con el símbolo del sistema que puede ver en Windows o MacOS. Cuando se le pregunta en esos sistemas operativos si desea continuar realizando esa acción específica, se encuentra con un botón que le permite confirmar que desea ejecutar la acción con privilegios elevados y, a veces, es posible que incluso tenga que introducir la contraseña de un administrador.
Al igual que en esos sistemas operativos, Linux usa el comando sudo como un muro entre las tareas normales y las de administración, de modo que usted tiene que confirmar con seguridad que quiere hacer lo que sea que el comando ejecutará. Aún más similar es el comando runas en Windows; como en Linux, el comando runas trabaja desde la línea de comandos para lanzar un archivo con credenciales de un determinado usuario, a menudo un administrador.
Si no estás seguro de si estás usando sudo o su, mira el carácter de seguimiento en la línea de comandos. Si es un signo de numeral (#), estás conectado como root.
Acerca del comando Sudo
En Linux, sudo (pronunciado «sue dough») permite a un administrador del sistema dar a ciertos usuarios o grupos de usuarios la posibilidad de ejecutar algunos o todos los comandos como root mientras registra todos los comandos y argumentos. Sin embargo, no es un reemplazo para la cáscara.
Cuando pones «sudo» delante de cualquier comando en la terminal, lo siguiente se ejecuta con privilegios elevados, por lo que es la solución a los errores relacionados con los privilegios. Es necesario si desea ejecutar comandos que se consideran tareas administrativas.
Sudo opera en base a cada comando. Las características incluyen la capacidad de restringir los comandos que un usuario puede ejecutar por host, el registro copioso de cada comando para proporcionar una pista de auditoría clara de quién hizo qué, un tiempo de espera configurable del comando sudo y la capacidad de utilizar el mismo archivo de configuración en muchas máquinas diferentes.
Ejemplo de Comando de Sudo
Un usuario estándar sin privilegios administrativos puede introducir un comando en Linux para instalar un software:
dpkg -i software.debEl comando devuelve un error porque una persona sin privilegios administrativos no puede instalar software. Sin embargo, el comando sudo viene al rescate. En su lugar, el comando correcto para este usuario es:
sudo dpkg -i software.debEsta vez el software se instala. Esto asume que una persona con privilegios administrativos ha configurado previamente Linux para permitir al usuario instalar el software o, si se le pide una contraseña, que la contraseña se ha introducido correctamente.
También puede configurar Linux para evitar que algunos usuarios puedan usar el comando sudo.