daily pastebin goal
8%
SHARE
TWEET

Untitled

Ripper_head Dec 14th, 2012 30 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. #
  3. # EAF1
  4. #
  5. #
  6. #
  7.  
  8. ##### DEFINICION DE LAS FUNCIONES #####
  9. creausuario (){
  10. echo "Nombre del fichero a crear usuarios?"
  11. read nombre_fichero
  12. FITXER=~/scripts/$nombre_fichero
  13.  
  14. # Comprobamos que el fichero exista
  15. if [ -e $FITXER ]
  16. then
  17.                 echo "existe fichero $FITXER"  
  18.         #Recorremos todas las lineas guardando cada apartado en una variable para luego cons
  19.         #contruir el comando de adduser
  20.                 while read linia
  21.         do
  22.         USUARI=$(echo "$linia" | cut -f1 -d:)
  23.         GRUP=$(echo "$linia" | cut -f2 -d:)
  24.         HOME=$(echo "$linia" | cut -f3 -d:)
  25.         PASSWD=$(echo "$linia" | cut -f4 -d:)
  26.         echo "Creando el usuario $USUARI..."
  27.         echo `sudo /usr/sbin/useradd -g $GRUP -d /home/$HOME -p $PASSWD -m $USUARI`
  28.         done < $FITXER
  29.        
  30.         else
  31.         echo "El fichero no existe, especifica correctamente el nombre"
  32.         return 1
  33.        
  34. fi
  35. }
  36. borrausuario(){
  37.         #Preguntamos el nombre del grupo
  38.         echo "De que grupo se quiere borrar todos los usuarios?"
  39.         read grup_borra
  40.         #Variables de grupo y listado de usuarios
  41.         grupo=`cat /etc/group | sort | cut -f1,3 -d: |grep -w $grup_borra | cut -f2 -d:`
  42.         usuario=`cat /etc/passwd | sort | cut -f1,4 -d: |sort |grep $grupo |cut -f1 -d:`
  43.        
  44.         for line in $grupo; do
  45.                
  46.                 for line2 in $usuario; do
  47.                         echo  "Borrando usuario $line2"
  48.                         echo ` sudo deluser --remove-home $line2`
  49.                        
  50.                 done
  51.         done
  52.                          
  53.            
  54. }
  55. missatge () {
  56. DATA=$(date +"%x - %X")
  57. echo "$DATA --> "
  58. echo "$DATA --> " >> $FITXER_LOG
  59.  
  60. }
  61.  
  62. FITXER_LOG=~/scripts/log_eaf/log
  63. if [ -ef "$FITXER_LOG"]; then
  64.                 echo "$DATA ==> El fitxer "$FITXER_LOG" ya existe" >> /dev/null
  65.         else
  66.         touch ~/scripts/log_eaf/log
  67. fi
  68. clear
  69.  
  70. echo `ls $FITXER_LOG`
  71. while [ \"$OPCION\" != 5 ]
  72. do
  73. echo "1. Crear usuaris de forma massiva"
  74. echo "2. Esborrar usuaris de forma massiva"
  75. echo "3. Sortir"
  76. echo "Introduce una opción:"
  77. read OP
  78. case "$OP" in
  79.     1)
  80.         echo "Has triat l'opció "$OP""
  81.         sleep 0;
  82.         clear
  83.         creausuario; >> $FITXER_LOG
  84.        
  85.     ;;
  86.     2)
  87.         echo "Has triat l'opció $OP"
  88.         sleep 0;
  89.         clear
  90.         borrausuario; >> $FITXER_LOG
  91.     ;;
  92.     3)
  93.         clear
  94.         echo "Muchas grácias, y hasta luego"
  95.         sleep 2;
  96.         exit 0 >>  /dev/null
  97.         ;;
  98.        
  99.     *)
  100.         echo "Opció incorrecta, Intantelo de nuevo"
  101. esac
  102. done
  103. exit 0
RAW Paste Data
Top