userspanel.sh 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #!/bin/bash
  2. #Guzmán Castanedo (guzman@castanedo.es) Octubre 2017
  3. #Licencia: GPL3 (http://www.gnu.org/licenses/gpl-3.0.html)
  4. function comprobarPrivilegios {
  5. #Comprobar si somos root.
  6. if [ $(id -u) -ne 0 ]; then
  7. #No somos root
  8. printf "\tERROR: No es posible obtener permisos de root.\n"
  9. exit 1
  10. fi
  11. }
  12. function mostrarBienvenida {
  13. printf "$(basename $0) 0.1 Beta\n"
  14. printf "Escribir \"ayuda\" o \"help\" para obtener ayuda de los comandos\n\n"
  15. }
  16. function leerComando {
  17. #Muestrar linea de comando y capturar comando.
  18. printf "$(basename $0)>\t"
  19. read Comando
  20. #printf "\n"
  21. #parser: Comando = Opcion + Opciones + Argumentos
  22. Opcion=$Comando
  23. }
  24. #function altaUsuario {
  25. #
  26. #}
  27. function ayuda {
  28. printf "Comandos:\n"
  29. printf "> alta\t\tDar de ALTA un nuevo usuario\n"
  30. printf "> cambiar\tCAMBIAR contraseña de un usuario\n"
  31. printf "> baja\t\tDar de BAJA un usuario\n"
  32. printf "> bloquear\tBLOQUEAR un usuario\n"
  33. printf "> desbloquear\tDESBLOQUEAR un usuario\n"
  34. printf "> ayuda\t\tMuestra esta ayuda\n"
  35. printf "\t\tPara mas ayuda escribir \"ayuda [comando]\"\n"
  36. printf "> salir\t\tFinaliza programa\n"
  37. }
  38. comprobarPrivilegios
  39. mostrarBienvenida
  40. cont=true
  41. while [ $cont = true ]; do
  42. leerComando
  43. case $Opcion in
  44. alta)
  45. #Alta usuario
  46. ;;
  47. cambiar)
  48. #Cambiar passwd
  49. ;;
  50. baja)
  51. #Baja usuario
  52. ;;
  53. bloquear)
  54. #Bloquear usuario
  55. ;;
  56. desbloquear)
  57. #Desbloquear usuario
  58. ;;
  59. ayuda|help)
  60. #Ayuda de comandos
  61. ayuda
  62. ;;
  63. salir|s|S|quit|q|Q|exit)
  64. #Salida
  65. #Podreamos hacer break, pero los bucles infinitos son feos.
  66. cont=false
  67. ;;
  68. *)
  69. #Opcion Incorrecta
  70. printf "Error de Sintaxis: Comando no valido.\n"
  71. #error=true
  72. #continue
  73. ;;
  74. esac
  75. #error=false
  76. done
  77. exit