#!/bin/bash #angeldp #Comando infor # Uso: con -u y un usuario da información del usuario # con -g y un grupo, del grupo. # con -h o --help ofrece ayuda. clear case $1 in '-u' ) USUARIO=`more /etc/passwd | grep ^${2}: | cut -d: -f1` if [ -z $2 ] then echo "Debe indicar un nombre de usuario con la opción -u" exit elif [ -z $USUARIO ] then echo "El usuario $2 no se encuentra en el sistema" exit fi userUID=`more /etc/passwd | grep ^${USUARIO}: | cut -d: -f3` userGID=`more /etc/passwd | grep ^${USUARIO}: | cut -d: -f4` userHOME=`more /etc/passwd | grep ^${USUARIO}: | cut -d: -f6` userSHELL=`more /etc/passwd | grep ^${USUARIO}: | cut -d: -f7` GRUPOS=`more /etc/group | grep $USUARIO | cut -d: -f1` GRUPOPPAL=`more /etc/group | grep :${userGID}: | cut -d: -f1` GRUPOS="$GRUPOS $GRUPOPPAL" if [ "$USER" != "root" ] then usoDISCO="0" else usoDISCO=`du -sh $userHOME | cut -f1` fi echo "Usuario: $USUARIO" echo "Es miembro de los grupos $GRUPOS" echo "Su carpeta personal es $userHOME" if [ "$usoDISCO" = "0" ] then echo "No se puede mostrar el uso en disco, utilice sudo" else echo "Está ocupando $usoDISCO de espacio en disco" fi;; '-g' ) GRUPO=`more /etc/group | grep ^${2}: | cut -d: -f1` if [ -z $2 ] then echo "Debe indicar un nombre de grupo con la opción -g" exit elif [ -z $GRUPO ] then echo "El grupo $2 no se encuentra en el sistema" exit fi groupGID=`more /etc/group | grep ${GRUPO}: | cut -d: -f3` MIEMBROS=`more /etc/group | grep ${GRUPO}: | cut -d: -f4` MIEMBROS2=`more /etc/passwd | cut -d: -f1,4 | grep :${groupGID}$ | cut -d: -f1` MIEMBROS="${MIEMBROS} ${MIEMBROS2}" echo "Grupo: $GRUPO" echo "Miembros: $MIEMBROS";; '-h' | '--help' ) echo "Uso: $0 [-u USUARIO | -g GRUPO | -h | --help]" echo -e "-u USUARIO\tDa informacin útil sobre el usuario." echo -e "-g GRUPO\tDa información sobre los miembros del grupo." echo -e "-h ó --help\tOfrece la ayuda del comando $0";; * ) echo "Error." echo "Use $0 -h o $0 --help para obtener ayuda.";; esac