Advertisement
Guest User

Untitled

a guest
Jul 30th, 2014
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.74 KB | None | 0 0
  1. #!/bin/bash
  2. mc_port=25565
  3. users=('DerMetzgerFlo' 'pc')
  4.  
  5. regex="^([[:alpha:]]+).*\((.*)\)$"
  6. ssh_users=()
  7. ips=()
  8. while read -r line ; do
  9.     [[ $line =~ $regex ]]
  10.     for i in "${users[@]}"
  11.     do
  12.         if [ "$i" == "${BASH_REMATCH[1]}" ] ; then
  13.             ssh_users+=(${BASH_REMATCH[1]})
  14.             ips+=(${BASH_REMATCH[2]})
  15.         fi
  16.     done
  17. done < <(who | grep -v localhost | grep -v "(:0)")
  18.  
  19. #flush existing rules
  20. /sbin/iptables -F
  21. for i in "${!ssh_users[@]}"
  22. do
  23.     #allow connection for user ${ssh_users[$i]} on ip ${ips[$i]}
  24.     /sbin/iptables -A INPUT -p tcp --destination-port $mc_port -s ${ips[$i]} -j ACCEPT
  25. done
  26.  
  27. #disallow all other connections
  28. /sbin/iptables -A INPUT -p tcp --destination-port $mc_port -j DROP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement