|
@@ -12,7 +12,8 @@ fi
|
|
|
}
|
|
|
|
|
|
function mostrarBienvenida {
|
|
|
-printf "$(basename $0) 0.1 Beta\n"
|
|
|
+
|
|
|
+printf "$(basename $0) $VERSION\n"
|
|
|
printf "Escribir \"ayuda\" o \"help\" para obtener ayuda de los comandos\n\n"
|
|
|
}
|
|
|
|
|
@@ -21,8 +22,61 @@ function leerComando {
|
|
|
printf "$(basename $0)>\t"
|
|
|
read Comando
|
|
|
|
|
|
-
|
|
|
- Opcion=$Comando
|
|
|
+
|
|
|
+ printf "$Comando\n"
|
|
|
+ Temp=$(getopt -q -o d:g:G:mp:s:fre: -l --home-dir:,--gid:,--groups:,--create-home,--pasword:,--shell:,--force,--remove,--expiredate: -- $Comando)
|
|
|
+ eval set -- "$Temp"
|
|
|
+ printf "$Temp\n"
|
|
|
+ while true; do
|
|
|
+ case "$1" in
|
|
|
+ -d|--home-dir)
|
|
|
+ homeDir=$2
|
|
|
+ shift 2
|
|
|
+ ;;
|
|
|
+ -g|--gid)
|
|
|
+ gid=$2
|
|
|
+ shift 2
|
|
|
+ ;;
|
|
|
+ -G|--groups)
|
|
|
+ otherGroups=$2
|
|
|
+ shift 2
|
|
|
+ ;;
|
|
|
+ -m|--create-home)
|
|
|
+ createHome=true
|
|
|
+ shift
|
|
|
+ ;;
|
|
|
+ -p|--password)
|
|
|
+ password=$2
|
|
|
+ shift
|
|
|
+ ;;
|
|
|
+ -s|--shell)
|
|
|
+ shell=$2
|
|
|
+ shift
|
|
|
+ ;;
|
|
|
+ -f|--force)
|
|
|
+ force=true
|
|
|
+ ;;
|
|
|
+ -r|--remove)
|
|
|
+ remove=true
|
|
|
+ ;;
|
|
|
+ -e|--expiredate)
|
|
|
+ expireDate=$2
|
|
|
+ shift 2
|
|
|
+ ;;
|
|
|
+ --)
|
|
|
+ shift
|
|
|
+ break
|
|
|
+ ;;
|
|
|
+ *)
|
|
|
+ printf "ERROR: Error Interno (parser).\n"
|
|
|
+ exit 1
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
+ done
|
|
|
+ Opcion=$1
|
|
|
+ User=$2
|
|
|
+ printf "Opcion: $Opcion\tUsuario: $User\n"
|
|
|
+ unset Comando Temp
|
|
|
}
|
|
|
|
|
|
|
|
@@ -30,17 +84,44 @@ function leerComando {
|
|
|
|
|
|
|
|
|
function ayuda {
|
|
|
-printf "Comandos:\n"
|
|
|
-printf "> alta\t\tDar de ALTA un nuevo usuario\n"
|
|
|
-printf "> cambiar\tCAMBIAR contraseña de un usuario\n"
|
|
|
-printf "> baja\t\tDar de BAJA un usuario\n"
|
|
|
-printf "> bloquear\tBLOQUEAR un usuario\n"
|
|
|
-printf "> desbloquear\tDESBLOQUEAR un usuario\n"
|
|
|
-printf "> ayuda\t\tMuestra esta ayuda\n"
|
|
|
-printf "\t\tPara mas ayuda escribir \"ayuda [comando]\"\n"
|
|
|
-printf "> salir\t\tFinaliza programa\n"
|
|
|
+
|
|
|
+printf "ayuda $1\n"
|
|
|
+case "$1" in
|
|
|
+ alta)
|
|
|
+ printf "alta: Dar de ALTA un nuevo usuario\n"
|
|
|
+ ;;
|
|
|
+ cambiar)
|
|
|
+ printf "cambiar: CAMBIAR contraseña de un usuario:\n"
|
|
|
+ ;;
|
|
|
+ baja)
|
|
|
+ printf "baja: Dar de BAJA un usuario\n"
|
|
|
+ ;;
|
|
|
+ bloquear)
|
|
|
+ printf "bloquear: BLOQUEAR un usuario\n"
|
|
|
+ ;;
|
|
|
+ desbloquear)
|
|
|
+ printf "desbloquear: DESBLOQUEAR un usuario\n"
|
|
|
+ ;;
|
|
|
+ ""|ayuda|help)
|
|
|
+ printf "Comandos:\n"
|
|
|
+ printf "> alta\t\tDar de ALTA un nuevo usuario\n"
|
|
|
+ printf "> cambiar\tCAMBIAR contraseña de un usuario\n"
|
|
|
+ printf "> baja\t\tDar de BAJA un usuario\n"
|
|
|
+ printf "> bloquear\tBLOQUEAR un usuario\n"
|
|
|
+ printf "> desbloquear\tDESBLOQUEAR un usuario\n"
|
|
|
+ printf "> ayuda\t\tMuestra esta ayuda\n"
|
|
|
+ printf "\t\tPara mas ayuda escribir \"ayuda [comando]\"\n"
|
|
|
+ printf "> salir\t\tFinaliza programa\n"
|
|
|
+ ;;
|
|
|
+ *)
|
|
|
+ printf "Error: el comando $1 no existe.\n"
|
|
|
+
|
|
|
+ ayuda
|
|
|
+ ;;
|
|
|
+esac
|
|
|
}
|
|
|
|
|
|
+VERSION="0.1 Beta"
|
|
|
comprobarPrivilegios
|
|
|
mostrarBienvenida
|
|
|
cont=true
|
|
@@ -64,7 +145,7 @@ while [ $cont = true ]; do
|
|
|
;;
|
|
|
ayuda|help)
|
|
|
|
|
|
- ayuda
|
|
|
+ ayuda $User
|
|
|
;;
|
|
|
salir|s|S|quit|q|Q|exit)
|
|
|
|
|
@@ -74,11 +155,9 @@ while [ $cont = true ]; do
|
|
|
*)
|
|
|
|
|
|
printf "Error de Sintaxis: Comando no valido.\n"
|
|
|
-
|
|
|
-
|
|
|
;;
|
|
|
esac
|
|
|
-
|
|
|
+ unset Opcion User homeDir gid otherGroups createHome password shell force remove expireDate
|
|
|
done
|
|
|
-
|
|
|
+unset VERSION cont
|
|
|
exit
|