GNU/Linux >> Tutoriales Linux >  >> Linux

Agregar usuarios a sudoers a través de un script de shell

No, un eco directo no funcionará, debe ejecutarlo en una subcapa. Prueba esto en su lugar:

sudo sh -c "echo \"group ALL=(user) NOPASSWD: ALL\" >> /etc/sudoers"


Podrías simplemente echo (con privilegios elevados, por supuesto) directamente al /etc/sudoers archivo:

sudo -i
echo 'nickw444  ALL=(ALL:ALL) ALL' >> /etc/sudoers
#             ^^
#             tab

(tenga en cuenta el carácter de tabulación entre el nombre de usuario y el primer ALL )

O, para un guión:

#!/bin/bash
# Run me with superuser privileges
echo 'nickw444  ALL=(ALL:ALL) ALL' >> /etc/sudoers

Luego guarda en somefile.sh , chmod a+rx y ejecuta sudo ./somefile.sh desde una ventana de terminal.

Para agregar múltiples usuarios, cambie el script a esto;

#!/bin/bash

while [[ -n $1 ]]; do
    echo "$1    ALL=(ALL:ALL) ALL" >> /etc/sudoers;
    shift # shift all parameters;
done

Luego, ejecute el script de esta manera (asumiendo que lo guardó como addsudousers.sh ):

sudo ./addsudousers.sh bob joe jeff

es decir, separados por espacios.

Para leer los nombres de un archivo:

[email protected] ~ $ sudo ./addsudousers.sh `cat listofusers.txt`

listofusers.txt también deben estar separados por espacios.

Editar: Jappie Kirk señala con razón que no puedes llamar directamente a sudo echo ... >> /etc/sudoers porque el >> la redirección es manejada por el shell, que en ese momento ha perdido los privilegios de superusuario. Sin embargo, si ejecuta un script que contiene echo ... >> /etc/sudoers y el script en sí tiene privilegios de superusuario, todo debería funcionar bien.


Linux
  1. Arreglar el archivo sudoers roto – sudo:error de análisis en /etc/sudoers cerca de la línea 21 [Ubuntu]

  2. Linux:¿Sudo no puede abrir /etc/sudoers?

  3. Cómo deshabilitar "sudo su" para los usuarios en el archivo de configuración de sudoers

  4. Enviar un correo desde un script de shell de Linux

  5. Patrón Regex para editar el archivo /etc/sudoers

Agregue un sudoer de forma no interactiva desde la línea de comando

Deshabilite los comentarios al escribir la contraseña en un indicador de Sudo

Cómo incluir todos los archivos de un directorio en el script de shell (/etc/init.d/iptables en este caso)

Cómo agregar usuarios a Linux a través de un script de shell

Rompí mi archivo /etc/sudoers en Amazon EC2

¿Cómo generar archivos sudoers personalizados en marionetas según el entorno en el que se implementan?