Introducción
Sudo significa SuperUser DO y se utiliza para acceder a archivos y operaciones restringidas. De forma predeterminada, Linux restringe el acceso a ciertas partes del sistema para evitar que los archivos confidenciales se vean comprometidos.
El sudo
El comando eleva temporalmente los privilegios, lo que permite a los usuarios completar tareas confidenciales sin iniciar sesión como usuario raíz. En este tutorial, aprenda a usar el comando sudo en Linux con ejemplos.
Requisitos previos
- Un sistema que ejecuta Linux
- Acceso a una línea de comando/ventana de terminal (Actividades> Buscar> Terminal)
- Una cuenta de usuario con
sudo
oroot
privilegios
Cómo usar el comando sudo
sudo
fue desarrollado como una forma de otorgar temporalmente a un usuario derechos administrativos. Para que funcione, usa sudo
ante un comando restringido. El sistema le pedirá su contraseña. Una vez proporcionado, el sistema ejecuta el comando.
Sintaxis
Para empezar a usar sudo
, use la siguiente sintaxis:
sudo [command]
Cuando sudo
se utiliza el comando, se ingresa una marca de tiempo en los registros del sistema. El usuario puede ejecutar comandos con privilegios elevados durante un tiempo breve (15 minutos predeterminados). Si un usuario que no es sudo intenta usar sudo
comando, se registra como un evento de seguridad.
Opciones
sudo
se puede utilizar con opciones adicionales:
-h
- ayudar; muestra la sintaxis y las opciones de comando-V
- versión; muestra la versión actual de la aplicación sudo-v
- validar; actualice el límite de tiempo en sudo sin ejecutar un comando-l
- lista; enumera los privilegios del usuario o comprueba un comando específico-k
- matar; finalizar los privilegios sudo actuales
Se pueden encontrar opciones adicionales bajo -h
opción.
Concesión de privilegios de sudo
Para la mayoría de las distribuciones modernas de Linux, un usuario debe estar en sudo , sumisos, o rueda grupo para usar el sudo
dominio. De forma predeterminada, un sistema de un solo usuario otorga privilegios de sudo a su usuario. Un sistema o servidor con varias cuentas de usuario puede excluir a algunos usuarios de los privilegios de sudo.
Recomendamos otorgar solo los privilegios que sean absolutamente necesarios para que el usuario realice las tareas diarias.
Las siguientes secciones explican cómo agregar un usuario al grupo sudoers.
RedHat y CentOS
En Redhat/CentOS, la rueda controles de grupo sudo usuarios Agregue un usuario al grupo de ruedas con el siguiente comando:
usermod -aG wheel [username]
Reemplazar [username]
con un nombre de usuario real. Es posible que deba iniciar sesión como administrador o usar el su
comando.
Debian y Ubuntu
En Debian/Ubuntu, el sudo el grupo controla a los usuarios de sudo. Agrega un usuario al grupo sudo con el siguiente comando:
usermod -aG sudo [username]
Reemplazar [username]
con un nombre de usuario real. Es posible que deba iniciar sesión como administrador o usar el su
comando.
Uso de visudo y el grupo sudoers
En algunas versiones modernas de Linux, los usuarios se agregan a los sudoers archivo para otorgar privilegios. Esto se hace usando el visudo
comando.
1. Usa el visudo
comando para editar el archivo de configuración:
sudo visudo
2. Esto abrirá /etc/sudoers para editar Para agregar un usuario y otorgar privilegios sudo completos , agregue la siguiente línea:
[username] ALL=(ALL:ALL) ALL
3. Guarde y salga del archivo.
Aquí hay un desglose de los privilegios sudo otorgados:
[username] [any-hostname]=([run-as-username]:[run-as-groupname]) [commands-allowed]
Ejemplos de sudo en Linux
Uso básico de Sudo
1. Abra una ventana de terminal y pruebe el siguiente comando:
apt-get update
2. Debería ver un mensaje de error. No tiene los permisos necesarios para ejecutar el comando.
3. Prueba el mismo comando con sudo
:
sudo apt-get update
4. Escriba su contraseña cuando se le solicite. El sistema ejecuta el comando y actualiza los repositorios.
Ejecutar comando como un usuario diferente
1. Para ejecutar un comando como un usuario diferente, en la terminal, ingrese el siguiente comando:
whoami
2. El sistema debería mostrar su nombre de usuario. A continuación, ejecute el siguiente comando:
sudo -u [different_username] whoami
3. Introduzca la contraseña para [different_username]
y el whoami
el comando se ejecutará y mostrará el usuario diferente.
Cambiar a usuario raíz
Este comando cambia su símbolo del sistema al shell BASH como usuario root:
sudo bash
Su línea de comando debería cambiar a:
[email protected]:/home/[username]
El hostname
El valor será el nombre de red de este sistema. El username
será el nombre de usuario conectado actual.
Ejecutar comandos anteriores con sudo
La línea de comandos de Linux mantiene un registro de los comandos ejecutados previamente. Se puede acceder a estos registros presionando la flecha hacia arriba. Para repetir el último comando con privilegios elevados, use:
sudo !!
Esto también funciona con comandos más antiguos. Especifique el número histórico de la siguiente manera:
sudo !6
Este ejemplo repite la sexta entrada en el historial con sudo
comando.
Ejecutar múltiples comandos en una línea
Encadene múltiples comandos juntos, separados por un punto y coma:
sudo ls; whoami; hostname
Agregar una cadena de texto a un archivo existente
Agregar una cadena de texto a un archivo a menudo se usa para agregar el nombre de un repositorio de software al archivo de fuentes, sin abrir el archivo para editarlo. Utilice la siguiente sintaxis con los comandos echo, sudo y tee:
echo ‘string-of-text’ | sudo tee -a [path_to_file]
Por ejemplo:
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list