#!/bin/sh
# Script de administracin de usuarios del sistema
# Por Carlos E. Morimoto
# Modificado para Guadalinex-mini por Mario Martin


case "`tty`" in
/dev/tty[1-8])
MODE=text
DIALOG=dialog
;;
/dev/pts/*|/dev/ttyp*)
MODE=x
export XDIALOG_HIGH_DIALOG_COMPAT=1
[ -x /usr/bin/gdialog ] && DIALOG=gdialog
[ -x /usr/bin/Xdialog ] && DIALOG=Xdialog
[ $DIALOG = dialog ] && MODE=text
;;
*)
esac

#T1="Administrar Usurios del Sistema"
#M1="Este script permite crear Usuarios en el Sistema, Activa y Desactivar Sudo y #permitir el login automatico."
#$DIALOG --title "$T1" --msgbox "$M1" 0 0


# Loop:
continuar=0
parar=1000
while [ "$continuar" -lt "$parar" ]
do

# Gera a variavel usuarios com os usuarios cadastrados no sistema
rm -f /tmp/usuarios*
  sed -e '\/*/D' /etc/shadow > /tmp/usuarios1
  sed -e '\/!/D' /tmp/usuarios1 > /tmp/usuarios2
  rm -f /tmp/usuarios1
  cat /tmp/usuarios2 | cut -d: -f1 >> /tmp/usuarios
  rm -f /tmp/usuarios2
usuarios=`cat /tmp/usuarios`


$DIALOG --title "Administrar Usurios del Sistema" \
--backtitle "Administrar Usurios del Sistema" \
--radiolist "\nLos usurios disponibles actualmente son:\n\n
$usuarios\n\n
Que desea hacer?\n
" 25 80 0 \
"Adiccionar" "Incluir um nuevo usuario" off \
"Remover" "Borrar un usuario (no es posible quitar usuario root)" off \
"Sudo" "Configurar uso de Sudo, crear usuarios administrativos" off \
"Salir" "Salir sin hacer nada" off 2> /tmp/checklist.tmp.$$
retval=$?


if [ $retval = 1 ];
then
 exit 0
   
fi

choice=`cat /tmp/checklist.tmp.$$`
rm -f /tmp/checklist.tmp.$$

# -----------------------------------

if [ "$choice" = "Adiccionar" ];
then

rm -f /tmp/novo_usuario
$DIALOG --title "Incluir Nuevo Usuario" \
--backtitle "Incluir Nuevo Usuario" \
--ok-label "Continuar" --cancel-label "Salir" \
--inputbox "Cual es el login que desea aadir? A continuacin podra configurar la contrasea y otros datos del nuevo usuario
" 16 70 > /dev/null 2> /tmp/novo_usuario
retval=$?


if [ $retval = 1 ];
then
 exit 0
fi

novo_usuario=`cat /tmp/novo_usuario`

rm -f /tmp/novo_usuario

adduser $novo_usuario

fi

# -----------------------------------

if [ "$choice" = "Remover" ];
then


rm -f /tmp/usuario_removido
$DIALOG --title "Quitar Usuario" \
--backtitle "Quitar Usuario" \
--ok-label "Continuar" --cancel-label "Sair" \
--inputbox "Los Usuarios disponibles actualmente son:\n\n
$usuarios\n\n
Que usuario quiere quitar? Nunca debe intentar quitar\n
al usuario root o al usuario que est usando en este momento
" 20 70 > /dev/null 2> /tmp/usuario_removido
retval=$?

if [ $retval = 1 ];
then
 exit 0
   
fi

usuario_removido=`cat /tmp/usuario_removido`

rm -f /tmp/usuario_removido

userdel $usuario_removido



T1="Quitar Usuario"
M1="Los Archivo de configuracion del Usuario, son almacenadas en la carpeta home, si quita el usuario no es necesario mantener esta carpeta, 
al menos que tenga guardado aqui archivos que quiera mantener.\n\n
Quieres borrar la carpeta /home/$usuario_removido? Si quita la carpeta los ficheros no podran ser recuperados."
$DIALOG --title "$T1" --yesno "$M1" 15 60
x=$?
if [ $x = 0 ] ; then

rm -rf /home/$usuario_removido/

else 

mv /home/$usuario_removido/ /home/"$usuario_removido"-removido

fi



fi

# -----------------------------------


if [ "$choice" = "Sudo" ];
then
echo "Este script permite Activar el sudo automatico para un Usuario,
a continuacion se le abrira el fichero sudoers,
en la ultima linea del fichero incluya lo siguiente:
Nombre_usuario      ALL=NOPASSWD: ALL
Al final salve el fichero." > /tmp/usu.tmp
T1="Administrar Usurios del Sistema"
$DIALOG --title "$T1" --editable --no-cancel --textbox /tmp/usu.tmp 500x200 

gxedit /etc/sudoers
rm -f /tmp/usu.tmp

fi

# -----------------------------------


# -----------------------------------



if [ "$choice" = "Salir" ];
then

exit
fi


done


