Lista de usuarios y permisos (sudo)
Este script te lista todos los usuarios del sistema operativo agregados en el archivo /etc/passwd y como un adicional, agrega los permisos que tiene en el archivo de /etc/sudoers.
Lo realize usando getent passwd en ligar de usar cat /etc/passwd, la razon, un dia ejecute el script para listar puros usuarios en consola, incluye el usario shutdown y ya sabran los que sucedio y te lo contare, se apago el servidor y era uno prodductivo de una televisora importante en el pais (México), asi que opte por usar un comando estandar y que hasta se encuentra en solaris 10 y 11 que tambien administro.
Lo que obtienes es un listaddo limpio el cual tambien puedes volcar en un archivo como por ejemplo:
# bash este_scrtipt.sh > archivo.txt
# bash este_scrtipt.sh > archivo.csv
Ya sea que directamente lo pongas como un txt o un csv si es que vas a entregar un reporte mas igerible al usuario final como tu jefe, un auditor, un compañero de tu equipo de tipo seguridad o ciberseguridad entre otros agregandolo a una hoja de calculo con mejor vista separado por punto y coma.
#!/bin/bash
sudo clear;
echo "#################################";
getent passwd | cut -d ":" -f 1 > /tmp/usuarios.tmp;
usuarios=$(for u in $(sudo cat /tmp/usuarios.tmp)
do
columna2=$(sudo getent passwd $u | cut -d ":" -f 5) > /dev/null 2>&1 #usuario
columna3=$(sudo getent passwd $u | cut -d ":" -f 6) > /dev/null 2>&1 #descripcion
columna4=$(sudo getent passwd $u | cut -d ":" -f 7) > /dev/null 2>&1 #terminal
columna5=$(sudo -lU $u | tail -n1 ) > /dev/null 2>&1 #validacion sudoers o privilegios
echo $u";"$columna2";"$columna3";"$columna4";"$columna5";";
done)
echo "Usuario;Nombre del usuario;Home;shell;Privilegios;"
echo "$usuarios";
rm /tmp/usuarios.tmp;
Logged in as {{omniform_current_user_display_name}}. Edit your profile. Log out? Required fields are marked *
Your email address will not be published. Required fields are marked *
Comments are closed.
You must be logged in to post a comment.