Advertisement
Ripper_head

Untitled

Dec 14th, 2012
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.37 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement