El comando "sudo" y su periodo de gracia | Ubuntu 16.04 | Ubuntu 14.04
Tabla de contenido:
- Instalación de Sudo (comando sudo no encontrado)
- Instale Sudo en Ubuntu y Debian
- Instale Sudo en CentOS y Fedora
- Agregar usuario a Sudoers
- Cómo usar sudo
- Tiempo de espera de contraseña
- Ejecute un comando como un usuario que no sea root
- Cómo redirigir con Sudo
- Conclusión
El comando sudo le permite ejecutar programas como otro usuario, por defecto el usuario root. Si pasa mucho tiempo en la línea de comandos, sudo es uno de los comandos que usará con bastante frecuencia.
Usar sudo en lugar de iniciar sesión como root es más seguro porque puede otorgar privilegios administrativos limitados a usuarios individuales sin que conozcan la contraseña de root.
En este tutorial, explicaremos cómo usar el comando
sudo
.
Instalación de Sudo (comando sudo no encontrado)
El paquete sudo está preinstalado en la mayoría de las distribuciones de Linux.
Para verificar si el paquete sudo está instalado en su sistema, abra su consola, escriba
sudo
y presione
Enter
. Si tiene sudo instalado, el sistema mostrará un breve mensaje de ayuda; de lo contrario, verá algo como el
sudo command not found
.
Si sudo no está instalado, puede instalarlo fácilmente usando el administrador de paquetes de su distribución.
Instale Sudo en Ubuntu y Debian
Instale Sudo en CentOS y Fedora
Agregar usuario a Sudoers
Por defecto, en la mayoría de las distribuciones de Linux, otorgar acceso a sudo es tan simple como agregar al usuario al grupo de sudo definido en el archivo
sudoers
. Los miembros de este grupo podrán ejecutar cualquier comando como root. El nombre del grupo puede diferir de una distribución a otra.
En distribuciones basadas en RedHat como CentOS y Fedora, el nombre del grupo sudo es
wheel
. Para agregar al usuario a la ejecución del grupo:
usermod -aG wheel username
En Debian, Ubuntu y sus derivados, los miembros del grupo
sudo
tienen acceso a sudo:
usermod -aG sudo username
La cuenta de usuario root en Ubuntu está deshabilitada de manera predeterminada por razones de seguridad y se alienta a los usuarios a realizar tareas administrativas del sistema usando sudo. El usuario inicial creado por el instalador de Ubuntu ya es miembro del grupo sudo, por lo que si está ejecutando Ubuntu, es probable que el usuario con el que inició sesión ya tenga privilegios de sudo.
Por ejemplo, para permitir que el usuario
linuxize
ejecute solo el comando
mkdir
como sudo, escriba:
sudo visudo
y agregue la siguiente línea:
linuxize ALL=/bin/mkdir
En la mayoría de los sistemas, el comando
visudo
abre el
/etc/sudoers
con el editor de texto vim. Si no tiene experiencia con vim, consulte nuestro artículo sobre cómo guardar un archivo y salga del editor vim.
También puede permitir a los usuarios ejecutar comandos sudo sin ingresar la contraseña:
linuxize ALL=(ALL) NOPASSWD: ALL
Cómo usar sudo
La sintaxis para el comando
sudo
es la siguiente:
sudo OPTION.. COMMAND
El comando
sudo
tiene muchas opciones que controlan su comportamiento, pero generalmente
sudo
se usa en su forma más básica, sin ninguna opción.
Para usar sudo, simplemente prefija el comando con
sudo
:
sudo command
Donde
command
es el comando para el que desea usar sudo.
Sudo leerá el
/etc/sudoers
y verificará si el usuario que invoca obtiene sudo evaluación. La primera vez que use sudo en una sesión, se le pedirá que ingrese la contraseña de usuario y el comando se ejecutará como root.
Por ejemplo, para enumerar todos los archivos en el directorio
/root
que usaría:
sudo ls /root
password for linuxize:….bashrc.cache.config.local.profile
Tiempo de espera de contraseña
Por defecto, sudo le pedirá que ingrese su contraseña nuevamente después de cinco minutos de inactividad de sudo. Puede cambiar el tiempo de espera predeterminado editando el archivo
sudoers
. Abra el archivo con
visudo
:
sudo visudo
Establezca el tiempo de espera predeterminado agregando la siguiente línea, donde
10
es el tiempo de espera especificado en minutos:
Defaults timestamp_timeout=10
Defaults:user_name timestamp_timeout=10
Ejecute un comando como un usuario que no sea root
Existe una percepción errónea de que
sudo
se usa solo para proporcionar permisos de root a un usuario normal. En realidad, puede usar
sudo
para ejecutar un comando como cualquier usuario.
La opción
-u
permite ejecutar un comando como un usuario especificado.
En el siguiente ejemplo, estamos usando
sudo
para ejecutar el comando
whoami
como usuario "richard":
sudo -u richard whoami
El comando
whoami
imprimirá el nombre del usuario que ejecuta el comando:
Cómo redirigir con Sudo
sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied
Esto sucede porque la redirección "
>
" de la salida se realiza bajo el usuario con el que inició sesión, no el usuario especificado por sudo. La redirección ocurre antes de que se invoque el comando
sudo
.
Una solución es invocar un nuevo shell como root utilizando
sudo sh -c
:
sudo sh -c 'echo "test" > /root/file.txt'
Otra opción es canalizar la salida como usuario normal al comando
tee
como se muestra a continuación:
echo "test" | sudo tee /root/file.txt
Conclusión
Has aprendido cómo usar el comando
sudo
y cómo crear nuevos usuarios con privilegios de sudo.
Comando Chmod en Linux (permisos de archivo)
En Linux, el acceso a los archivos se gestiona a través de los permisos, atributos y propiedad del archivo. Este tutorial cubre cómo usar el comando chmod para cambiar los permisos de acceso de archivos y directorios.
Comando chgrp en linux (cambiar grupo)
En Linux, cada archivo está asociado con un propietario y un grupo y tiene permisos que determinan qué usuarios pueden leer, escribir o ejecutar el archivo. El comando chgrpc cambia la propiedad del grupo de los archivos dados.
Cómo ejecutar el comando sudo sin contraseña
El comando sudo permite a los usuarios de confianza ejecutar programas como otro usuario, por defecto el usuario root. Este tutorial explica cómo configurar el archivo sudoers y permitir que ciertos usuarios ejecuten comandos sudo sin que se les solicite la contraseña.







