sperren

  1. #!/bin/sh
  2.  
  3. . /opt/etc/system.var
  4.  
  5. echo -e "\n              · · ·  T e r m i n a l   s p e r r e n  · · ·\n"
  6. echo -n " Passwort eingeben (leere Eingabe, um nicht zu sperren): "
  7. stty -echo
  8. read password
  9. stty echo
  10.  
  11. if [ -z "${password}" ]; then
  12.   echo -e "\n\n Leeres Passwort eingegeben, Terminal wird NICHT gesperrt.\n"
  13.   exit
  14. fi
  15. echo
  16. echo -n " Passwort wiederholen: "
  17. stty -echo
  18. read password2
  19. stty echo
  20. if [ "${password}" != "${password2}" ]; then
  21.   echo
  22.   echo " Passwort nicht identisch!"
  23.   exit
  24. fi
  25.  
  26.  
  27. clear
  28. trap "" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
  29.  
  30. tput cm 0 5
  31. echo -e "${blue}_______________________________________________________________________________"
  32. tput cm 0 18
  33. echo -e "_______________________________________________________________________________"
  34. tput cm 0 6
  35.  
  36. echo -e "${red}\n\n              · · ·  T e r m i n a l   g e s p e r r t  · · ·\n\n ${normal}"
  37. echo -e " Das Terminal ${yellow}`tty`${normal} wird zur Zeit vom Benutzer ${yellow}${USER}${normal} verwendet"
  38. echo " und ist gesperrt. Um die Sperrung aufzuheben, müssen Sie das Paßwort"
  39. echo " eingeben, mit dem das Terminal ursprünglich gesperrt wurde."
  40. echo -e "\n\n ${white}Passwort eingeben: "
  41. tput cm 19 16
  42.  
  43. failed=0
  44. match=""
  45. while : ; do
  46.   stty -echo
  47.   read match
  48.   stty echo
  49.   if [ "${match}" = "${password}" ]; then
  50.     break
  51.   else
  52.      failed=$(expr ${failed} + 1)
  53.      tput cm 19 16
  54.      echo -e "${red}Fehlgeschlagen!"
  55.      tput cm 19 16
  56.      sleep 0.5
  57.      echo -e "                        ${failed} mal falsches Passwort eingegeben!${white}"
  58.      tput cm 19 16
  59.   fi
  60. done
  61. trap "" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
  62. echo -e ${normal}
  63. clear
  64. exit 0