alterarlimite 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/bin/bash
  2. tput setaf 7 ; tput setab 4 ; tput bold ; printf '%20s%s\n' " එකවර සම්බන්ධතා වල සීමාව වෙනස් කරන්න " ; tput sgr0
  3. database="/root/usuarios.db"
  4. if [ ! -f "$database" ]; then
  5. tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "සංරක්ෂිතය $database සොයා ගත නොහැක" ; echo "" ; tput sgr0
  6. exit 1
  7. else
  8. tput setaf 3 ; tput bold ; echo ""; echo "පරිශීලකයින්ගේ ලැයිස්තුව සහ ඔවුන්ගේ සීමාවන්:" ; tput sgr0
  9. echo ""
  10. _userT=$(awk -F: '$3>=1000 {print $1}' /etc/passwd | grep -v nobody)
  11. i=0
  12. unset _userPass
  13. while read _user; do
  14. i=$(expr $i + 1)
  15. _oP=$i
  16. [[ $i == [1-9] ]] && i=0$i && oP+=" 0$i"
  17. if [[ "$(grep -wc "$_user" $database)" != "0" ]]; then
  18. limit=$(grep -w "$_user" $database |cut -d' ' -f2)
  19. else
  20. limit='1'
  21. fi
  22. l_user=$(echo -e "\033[1;31m[\033[1;36m$i\033[1;31m] \033[1;37m- \033[1;32m$_user\033[0m")
  23. lim=$(echo -e "\033[1;33mLimite\033[1;37m: $limit")
  24. printf '%-65s%s\n' "$l_user" "$lim"
  25. _userPass+="\n${_oP}:${_user}"
  26. done <<< "${_userT}"
  27. echo ""
  28. num_user=$(awk -F: '$3>=1000 {print $1}' /etc/passwd | grep -v nobody | wc -l)
  29. echo -ne "\033[1;32mපරිශීලකයෙකු ටයිප් කරන්න හෝ තෝරන්න\033[1;33m[\033[1;36m1\033[1;31m-\033[1;36m$num_user\033[1;33m]\033[1;37m: " ; read option
  30. usuario=$(echo -e "${_userPass}" | grep -E "\b$option\b" | cut -d: -f2)
  31. if [[ -z $option ]]; then
  32. tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "හිස් හෝ නොපවතින පරිශීලකයෙක්" ; echo "" ; tput sgr0
  33. exit
  34. elif [[ -z $usuario ]]; then
  35. tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "හිස් හෝ නොපවතින පරිශීලකයෙක්" ; echo "" ; tput sgr0
  36. exit 1
  37. else
  38. if cat /etc/passwd |grep -w $usuario > /dev/null; then
  39. echo -ne "\n\033[1;32mනව පරිශීලක සීමාව \033[1;33m$usuario\033[1;37m: "; read sshnum
  40. if [[ -z $sshnum ]]
  41. then
  42. tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "ඔබ අවලංගු අංකයක් ඇතුළත් කර ඇත!" ; echo "" ; tput sgr0
  43. exit 1
  44. else
  45. if (echo $sshnum | egrep [^0-9] &> /dev/null)
  46. then
  47. tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "ඔබ අවලංගු අංකයක් ඇතුළත් කර ඇත!" ; echo "" ; tput sgr0
  48. exit 1
  49. else
  50. if [[ $sshnum -lt 1 ]]
  51. then
  52. tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "ඔබ බිංදුවට වඩා විශාල සංඛ්‍යාවක් ඇතුළත් කළ යුතුය!" ; echo "" ; tput sgr0
  53. exit 1
  54. else
  55. grep -v ^$usuario[[:space:]] /root/usuarios.db > /tmp/a
  56. sleep 1
  57. mv /tmp/a /root/usuarios.db
  58. echo $usuario $sshnum >> /root/usuarios.db
  59. tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "සීමාව පරිශීලකයාට අදාළ වේ $usuario foi $sshnum " ; tput sgr0
  60. sleep 2
  61. exit
  62. fi
  63. fi
  64. fi
  65. else
  66. tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "O පරිශීලකයා $usuario සොයාගත නොහැකි විය" ; echo "" ; tput sgr0
  67. exit 1
  68. fi
  69. fi
  70. fi