Androide

Comando sudo en linux

El comando "sudo" y su periodo de gracia | Ubuntu 16.04 | Ubuntu 14.04

El comando "sudo" y su periodo de gracia | Ubuntu 16.04 | Ubuntu 14.04

Tabla de contenido:

Anonim

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

apt install sudo

Instale Sudo en CentOS y Fedora

yum install sudo

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:

richard

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.

terminal sudo