Mantenimiento de ficheros sudoers en clientes linux

De WikiEtl
Saltar a: navegación, buscar

Cómo actualizar el fichero /etc/sudoers en los clientes con doit

Primero editar el fichero sudoers y copiarlo al siguiente directorio:

dist:/usr/dist/clientes/common/etc/sudoers

ssh root@ditserv1.lab.it.uc3m.es -p7000
vi /usr/dist/clientes/common/etc/sudoers

Desde lmserv.lab.it.uc3m.es ejecutar doit y añadir el siguiente script:

Se añade el cd /usr/dist para que lo monte, ya que al usar autofs, no monta /usr/dist hasta que alguien intenta acceder y daba error al no estar montado.

cd /usr/dist
MONTAJE=0
while [ $MONTAJE -le 0 ]
do
       if mount | grep -qE "dist:/usr/dist on /usr/dist type nfs"
       then
                  MONTAJE=1
       else
          if ping -c 1 dist | grep -q " 0% packet loss"
          then
              logger "check_dist_mount: Trying to mount dist:/usr/dist"
              mount -a
          fi
       fi
done
fecha=`date +"%F"`
cp -f /etc/sudoers /etc/sudoers.$fecha.back
cp -f /usr/dist/clientes/common/etc/sudoers /etc/sudoers
chown root:root /etc/sudoers
chmod 440 /etc/sudoers

touch /tmp/HECHO


Probar en un equipo primero, para ver la consistencia del fichero /etc/sudoers (con hacer sudo ls y ver que funciona, vale)

Cuando aparezca en el directorio tmp un fichero llamado HECHO significará que el script ha terminado de ejecutarse.

Seleccionar todos los equipos y lanzar el doit.

Comprobar que no llegan e-mails de error y se ha procesado bien el trabajo.

Nota: Si corre prisa, se puede hacer un doit --flush para volver intentar copiar la tarea en los clientes que no estuvieron en linux o con red la primera vez.

Nota: Tipo_Alias NOMBRE_ALIAS = elemento1, elemento2, elemento3, ......


Tipo_Alias Puede ser uno de los siguientes:

Cmnd_Alias: Para definir alias de comandos. User_Alias: Para definir alias de usuarios "normales". Runas_Alias: Para definir alias de usuarios "privilegiados". Host_Alias: Para definir alias de hosts.

NOMBRE_ALIAS Es el nombre que daremos al alias. Para su composición deben seguirse unas simples normas:

Debe ser una cadena compuesta exclusivamente por letras mayúsculas,números y guiones_bajos.

La cadena debe comenzar necesariamente por una letra mayúscula.

Se recomienda que en los nombres de alias se utilicen solo letras mayúsculas. En adelante,los alias se distinguirán por la utilización exclusiva de letras mayúsculas en su nombre.

--Rbravo 13:47 13 dic 2007 (CET)

Como comprobar si los ficheros /etc/sudoers de los clientes son iguales

En le directorio /home/etl/scripts de ditserv2 hay una serie de scripts muy basicos pero que pueden ser de utilidad para determinadas tareas de mantenimiento rápidas. Por ejemplo para comprobar rápidamente si un determiendo fichero localizado en el directorio /etc de cada uno de los cliente es igual al de los demas, en este caso el /etc/soduers, basa con ejecutar lo siguiente:

ditserv2:/home/etl/scripts> sudo sh ./chk.etcfiles.sh all sudoers

Este sccrip accede a todos los directorios /etc de los clientes encendidos en ese momento y saca un md5sum del fichero especificado. Ej.:

 ...
 b60cc4b19576ebf05143f833d13395f4  /etc/jbit126/sudoers
 b60cc4b19576ebf05143f833d13395f4  /etc/jbit127/sudoers
 b60cc4b19576ebf05143f833d13395f4  /etc/jbit128/sudoers 
 b60cc4b19576ebf05143f833d13395f4  /etc/jbit131/sudoers
 ...

--Goyo 16:44 13 dic 2007 (CET)