instalar sudo

instalar sudo

¿Qué pasa si desea que un usuario ejecute un comando como otro usuario del sistema sin intercambiar contraseñas?. Por ejemplo, es posible que desee que un usuario John ejecute un comando Buscar o script de shell bash personalizado como un usuario Greg o incluso como un usuario root (superuser) sin intercambio de contraseñas. En este caso, una utilidad de sudo con su archivo de configuración /etc /sudoers será su amigo. Esta utilidad se usa muy ampliamente, pero al mismo tiempo, muy poco entendido por los usuarios de Linux de todos los niveles.

Este breve artículo describe algún uso básico de sudo y formato del archivo de configuración de sudoers.

instalar sudo

Primero debemos asegurarnos de que sudo y /etc /sudoers el archivo de configuración de sudo esté disponible. Para hacer esa carrera:

$ que sudo 

o

$ sudo -v 

El primer comando debe revelar una ubicación de un ejecutable binario de sudo y el segundo programa generará un número de versión de sudo comando de sí mismo. El archivo de configuración de sudo sudoers está en la mayoría de los casos ubicados en /etc /sudoers. Puede usar el comando ls para localizar este archivo.

$ ls -l /etc /sudoers -r-r ----- 1 raíz raíz 481 2010-04-08 21:43 /etc /sudoers

Tenga en cuenta los permisos predeterminados y "debe ser" del archivo A /etc /sudoers. Solo el usuario root y los usuarios que pertenecen a un grupo raíz pueden leer este archivo.

$ cat /etc /sudoers cat: /etc /sudoers: permiso denegado 

Si tuvo algunos problemas al ejecutar los comandos anteriores, es probable que sudo no esté instalado en su sistema. Esto es muy poco probable si está ejecutando Ubuntu, Fedora u OpenSuse como una utilidad de sudo se instala en su sistema de forma predeterminada. En caso de que esté ejecutando Debian, ejecute un siguiente comando Linux para instalar sudo utilidad:

NOTA: Es muy poco probable que la utilidad de sudo no esté instalada en su sistema, ya que la mayoría de las distribuciones de Linux decentes tienen la utilidad de sudo instalada por defecto.

# apt-get install sudo 

Para distribuciones YUM (RPM) Use este comando para instalar sudo:

# yum instalar sudo 


Ejecutando el script bash usando sudo

Creemos un script bash simple que nos proporcionará un entorno de prueba básico para un comando sudo. Los siguientes comandos de Linux crearán script bash llamado sudo_test.SH dentro del directorio/usr/local/bin y hacerlo ejecutable:

$ SU - Contraseña: # CD/USR/local/bin/ # echo "ps aux | grep $$"> sudo_test.sh # echo "touch /tmp /sudo_file.tmp ">> sudo_test.sh # chmod +x sudo_test.mierda 

Este script no hará nada excepto que imprima la identificación del proceso del sudo_test.script sh bash junto con su identificación del propietario relevante como salida de stdout y al mismo tiempo creará un archivo llamado sudo_file.tmp dentro / tmp / directorio. Ahora ejecutamos este script como usuario raíz y verificamos a un propietario de este proceso.

./sudo_test.SH [1] 3513/usr/local/bin# ps aux | GREP 3513 Root 3513 0.0 0.1 4260 908 pts/4 S 16:32 0:00 Bash Root 3516 0.0 0.0 1700 268 pts/4 R+ 16:32 0:00 GREP 3513 

Como puede ver, el ID de proceso 3513 es propiedad de un usuario de un usuario. Además, al ejecutar el comando ls podemos observar que file /tmp /sudo_file.TMP es propiedad de un usuario raíz.

# ls -l /tmp /sudo_file.tmp -rw-r-r-- 1 raíz root 0 2010-08-29 17:31 /tmp /sudo_file.TMP 

Eliminemos /tmp /sudo_file.archivo tmp e intente ejecutar este mismo script con otro usuario llamado "lilo". Tenga en cuenta los permisos del script después de la ejecución del comando LS -L.

$ whoami lilo $ ls -l/usr/local/bin/sudo_test.sh -rwxr-xr-x 1 raíz raíz 44 2010-08-29 17:31/usr/local/bin/sudo_test.SH $/usr/local/bin/sudo_test.SH Root 3502 0.0 0.3 4260 1744 pts/4 S+ 16:31 0:00 Bash Lilo 3773 0.0 0.1 3116 720 pts/5 R+ 17:36 0:00 GREP 3502 $ LS -L/TMP/SUDO_FILE.tmp -rw-r-r-- 1 lilo lilo 0 2010-08-29 17:36 /tmp /sudo_file.TMP

Como puede ver, el script es ejecutado por el usuario de lilo y el propietario de este proceso también es un usuario lilo. El archivo creado dentro de A /TMP /Directory también es propiedad de un usuario de Lilo. Antes de continuar, elimine /tmp /sudo_file.archivo tmp.

dar permisos de sudo al usuario

Nuestra próxima tarea ahora es hacer que el usuario de Lilo pueda ejecutar/usr/local/bin/sudo_test.script sh con privilegios raíz y sin regalar credenciales raíz. Para hacer esto, necesitamos editar A /etc /sudoers el archivo de configuración de sudo. Dado que la raíz solo ha leído el acceso a un archivo de configuración de sudo /etc /sudoers y no queremos cambiar eso, utilizaremos el comando visudo ejecutado como una raíz para agregar una línea siguiente a este archivo:

lilo all = (root)/usr/local/bin/sudo_test.mierda
  • lilo: el usuario que tendrá permiso para ejecutar el/usr/local/bin/sudo_test.SHIR SCRIPTO
  • Todos: coincide con cualquier cosa y en este contexto se aplica a un nombre de host
  • (root): este comando se ejecutará con privilegios raíz
  • /usr/local/bin/sudo_test.SH: el comando real


Como resultado, cuando ahora intentamos ejecutar el/usr/local/bin/sudo_test.SHIR Script como usuario de lilo usando el comando sudo e ingrese la contraseña de lilo:

$ rm /tmp /sudo_file.TMP $ sudo/usr/local/bin/sudo_test.SH [sudo] Contraseña para lilo: root 3502 0.0 0.3 4260 1744 pts/4 s 16:31 0:00 raíz bash 3793 0.0 0.1 3116 720 pts/5 S+ 17:46 0:00 GREP 3502 $ LS -L/TMP/SUDO_FILE.tmp -rw-r-r-- 1 raíz root 0 2010-08-29 17:46 /tmp /sudo_file.TMP 

El ID de proceso 3502 es propiedad de una raíz y el propietario del /tmp /sudo_file.TMP es usuario root. Además, si, por ejemplo, desea que un usuario lilo ejecute un script/usr/local/bin/sudo_test.SH como usuario J "John" simplemente alter /etc /sudoers Archivo de configuración y reemplazar (root) con (John) usando el comando Visudo.

sudo sin contraseña

Cuando se ejecuta un comando sudo, se le pide a un usuario una contraseña. Este bahaviouv predeterminado de un comando sudo se puede cambiar mediante el archivo de configuración de edición /etc /sudoers. Si no queremos que se nos solicite una contraseña, alteramos el archivo A /etc /sudoers cambiando la línea:

lilo all = (root)/usr/local/bin/sudo_test.mierda 

con

lilo all = (root) nopasswd:/usr/local/bin/sudo_test.mierda 

Tiempo de espera de la contraseña de sudo

El número de minutos antes de que sudo le pedirá a un usuario que vuelva a ingresar una contraseña es de forma predeterminada 15. Este comportamiento se puede cambiar especificando la Directiva TimestAMP_TimeOut de un sudo dentro del archivo /etc /sudoers. Para aumentar el tiempo de espera de la contraseña de sudo a 60 minutos, agregamos la Directiva TimestAMP_TimeOut sudo en el archivo /etc /sudoers cambiando una línea:

Predeterminados env_reset 

a

Los valores predeterminados env_reset, timestamp_timeout = 60 

Aprenda más sobre sudo

Tenga en cuenta que hay mucho más que aprender sobre el comando sudo y sus capacidades. Una buena manera de descubrir más sobre el comando sudo es comenzar con:

hombre sudo 

o para acceder a la página del hombre para el archivo de configuración de sudoers

hombre sudoers 

Tutoriales de Linux relacionados:

  • Cómo eliminar el bloatware de su móvil Samsung Android ..
  • Manejo de la entrada del usuario en scripts bash
  • Cómo descifrar la contraseña con cremallera en Kali Linux
  • Cómo crear modificar y eliminar la cuenta de usuarios en Linux
  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Linux - Restablecer la vencimiento de la contraseña, la edad y el historial
  • Manipulación de Big Data para la diversión y las ganancias Parte 1
  • Mastering Bash Script Loops