GNU/Linux >> Tutoriales Linux >  >> Linux

Comando Sudo en Linux

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 sudo comando.

Instalando 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 ha instalado Sudo en el sistema, aparecerá un breve mensaje de ayuda. De lo contrario, verá algo como sudo command not found .

Si sudo no está instalado, puede instalarlo fácilmente usando el administrador de paquetes de su distribución.

Instalar Sudo en Ubuntu y Debian #

apt install sudo

Instalar Sudo en CentOS y Fedora #

yum install sudo

Agregar usuario a Sudoers #

De forma predeterminada, en la mayoría de las distribuciones de Linux, otorgar acceso a sudo es tan simple como agregar el usuario al grupo sudo definido en sudoers expediente. 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 el usuario al grupo, ejecute:

usermod -aG wheel username

En Debian, Ubuntu y sus derivados, miembros del grupo sudo se les otorga acceso sudo:

usermod -aG sudo username

La cuenta de usuario raíz en Ubuntu está deshabilitada de forma predeterminada por razones de seguridad, y se recomienda a los usuarios que realicen tareas administrativas del sistema mediante 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.

Para permitir que un usuario específico ejecute solo ciertos programas como sudo, en lugar de agregar al usuario al grupo sudo, agregue los usuarios a los sudoers archivo.

Por ejemplo, para permitir que el usuario linuxize para ejecutar solo el mkdir comando como sudo, escriba:

sudo visudo

y agregue la siguiente línea:

linuxize  ALL=/bin/mkdir

En la mayoría de los sistemas, el visudo El comando abre /etc/sudoers archivo con el editor de texto vim. Si no tiene experiencia con vim, consulte nuestro artículo sobre cómo guardar un archivo y salir del editor de vim.

También puede permitir que los usuarios ejecuten comandos sudo sin ingresar la contraseña:

linuxize  ALL=(ALL) NOPASSWD: ALL

Cómo usar Sudo #

La sintaxis de sudo El comando es el siguiente:

sudo OPTION.. COMMAND

El sudo El comando tiene muchas opciones que controlan su comportamiento, pero generalmente se usa en su forma más básica, sin ninguna opción.

Para usar sudo, simplemente prefije el comando con sudo :

sudo command

Donde command es el comando para el que desea utilizar sudo.

Sudo leerá el /etc/sudoers file y verifique si el usuario que invoca tiene 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 /root directorio que usaría:

sudo ls /root
[sudo] password for linuxize:
.  ..  .bashrc	.cache	.config  .local  .profile

Tiempo de espera de contraseña #

De forma predeterminada, 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 sudoers expediente. Abra el archivo con visudo :

sudo visudo

Establezca el tiempo de espera predeterminado agregando la línea a continuación, donde 10 es el tiempo de espera especificado en minutos:

Defaults  timestamp_timeout=10

Si desea cambiar la marca de tiempo solo para un usuario específico, agregue la siguiente línea, donde nombre_usuario es el usuario en cuestión.

Defaults:user_name timestamp_timeout=10

Ejecutar un comando como un usuario que no sea raíz #

Existe una percepción errónea de que sudo se usa solo para proporcionar permisos de raíz a un usuario normal. En realidad, puedes usar sudo para ejecutar un comando como cualquier usuario.

El -u La opción le permite ejecutar un comando como un usuario específico.

En el siguiente ejemplo, estamos usando sudo para ejecutar el whoami comando como usuario “richard”:

sudo -u richard whoami

El whoami El comando imprimirá el nombre del usuario que ejecuta el comando:

richard

Cómo redirigir con Sudo #

Si intenta redirigir la salida de un comando a un archivo en el que su usuario no tiene permisos de escritura, obtendrá un error de "Permiso denegado".

sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied

Esto sucede porque la redirección “> ” de la salida se realiza con el usuario con el que inició sesión, no con el usuario especificado con sudo. La redirección ocurre antes de sudo se invoca el comando.

Una solución es invocar un nuevo shell como root usando sudo sh -c :

sudo sh -c 'echo "test" > /root/file.txt'

Otra opción es canalizar la salida como un usuario regular al tee comando, como se muestra a continuación:

echo "test" | sudo tee /root/file.txt

Conclusión #

Has aprendido a usar el sudo comando y cómo crear nuevos usuarios con privilegios sudo.

Si tiene alguna pregunta, no dude en dejar un comentario.


Linux
  1. comando linux mv

  2. Linux du comando

  3. Comando IP de Linux

  4. Comando cd de linux

  5. Ejecute el comando cd como superusuario en Linux

Linux qué comando

Comando de fecha en Linux

Comando W en Linux

Al mando en Linux

Comando Df en Linux

Conceptos básicos de la línea de comandos de Linux:sudo