Advertisement
angeldp

inforInteractivo.sh

Jun 11th, 2015
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.46 KB | None | 0 0
  1. #!/bin/bash
  2. #angeldp
  3. #Comando inforInteractivo
  4. # Mostrará un menú mediante el que se podrá...
  5. # pulsando 1 ver información de un usuario
  6. # pulsando 2 ver los miembros de un grupo
  7. # pulsando q salir.
  8. OPC=0
  9. until [ "$OPC" = "q" ]
  10.   do
  11.   clear
  12.   echo "Pulse 1 para ver información de un usuario"
  13.   echo "Pulse 2 para ver los miembros de un grupo"
  14.   echo "Pulse q para salir"
  15.   read -n1 OPC
  16.   case $OPC in
  17.   '1' )
  18.     clear
  19.     read -p "Indique el usuario: " USU
  20.     USUARIO=`more /etc/passwd | grep ^${USU}: | cut -d: -f1`
  21.     if [ -z $USU ]
  22.       then
  23.       echo "Debe indicar un nombre de usuario"
  24.       sleep 3
  25.       continue
  26.     elif [ -z $USUARIO ]
  27.       then
  28.       echo "El usuario $USU no se encuentra en el sistema"
  29.       sleep 3
  30.       continue
  31.     fi
  32.   userUID=`more /etc/passwd | grep ^${USUARIO}: | cut -d: -f3`
  33.   userGID=`more /etc/passwd | grep ^${USUARIO}: | cut -d: -f4`
  34.   userHOME=`more /etc/passwd | grep ^${USUARIO}: | cut -d: -f6`
  35.   userSHELL=`more /etc/passwd | grep ^${USUARIO}: | cut -d: -f7`
  36.   GRUPOS=`more /etc/group | grep $USUARIO | cut -d: -f1`
  37.   GRUPOPPAL=`more /etc/group | grep :${userGID}: | cut -d: -f1`
  38.   GRUPOS="$GRUPOS $GRUPOPPAL"
  39.   if [ "$USER" != "root" ]
  40.     then
  41.     usoDISCO="0"
  42.   else
  43.     usoDISCO=`du -sh $userHOME | cut -f1`
  44.   fi
  45.   echo "Usuario: $USUARIO"
  46.   echo "Es miembro de los grupos $GRUPOS"
  47.   echo "Su carpeta personal es $userHOME"
  48.   if [ "$usoDISCO" = "0" ]
  49.     then
  50.     echo "No se puede mostrar el uso en disco, utilice sudo"
  51.   else
  52.     echo "Está ocupando $usoDISCO de espacio en disco"
  53.   fi
  54.   read -n1 -s -p "Pulse cualquier tecla para continuar" BASURA;;
  55.   '2' )
  56.   clear
  57.   read -p "Indique el nombre del grupo: " GRP
  58.   GRUPO=`more /etc/group | grep ^${GRP}: | cut -d: -f1`
  59.   if [ -z $GRP ]
  60.     then
  61.     echo "Debe indicar un nombre de grupo"
  62.     sleep 3
  63.     continue
  64.   elif [ -z $GRUPO ]
  65.     then
  66.     echo "El grupo $GRP no se encuentra en el sistema"
  67.     sleep 3
  68.     continue
  69.   fi
  70.   groupGID=`more /etc/group | grep ${GRUPO}: | cut -d: -f3`
  71.   MIEMBROS=`more /etc/group | grep ${GRUPO}: | cut -d: -f4`
  72.   MIEMBROS2=`more /etc/passwd | cut -d: -f1,4 | grep :${groupGID}$ | cut -d: -f1`
  73.   MIEMBROS="${MIEMBROS} ${MIEMBROS2}"
  74.   echo "Grupo: $GRUPO"
  75.   echo "Miembros: $MIEMBROS"
  76.   read -n1 -s -p "Pulse cualquier tecla para continuar" BASURA;;
  77.   'q' | 'Q' )
  78.     clear
  79.     echo "Adios"
  80.     sleep 3
  81.     exit;;
  82.   * )
  83.     clear
  84.     echo "Error."
  85.     sleep 2;;
  86.   esac
  87. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement