Advertisement
Guest User

ASUSWRT - Openvpn Timed cutoff

a guest
May 10th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.22 KB | None | 0 0
  1. #!/bin/sh
  2. USER=openvpn-timed-user
  3. SERVER=server2
  4. ACTION=$1;
  5.  
  6. if [ "$ACTION" != "enable" -a "$ACTION" != "disable" ]; then
  7.     echo "Usage: $0 enable|disable"
  8.     exit
  9. fi
  10.  
  11. if [ "$ACTION" = "enable" ]; then
  12.     #create new user and reload openvpn
  13.     echo "Enabling $USER access"
  14.    
  15.     #the user should have a disabled (!) password in /etc/shadow. Remove the !
  16.     disabled=`grep "$USER:!" /etc/shadow | wc -l`;
  17.     if [ "$disabled" -gt "0" ]; then
  18.         sed -i "s/^$USER:!/$USER:/" /etc/shadow
  19.         echo "Enabled user $USER";
  20.     else
  21.         echo "User $USER was not disabled";
  22.     fi
  23.    
  24. fi
  25.  
  26. if [ "$ACTION" = "disable" ]; then
  27.     #disable user and reload openvpn (if connected)
  28.     echo "Disabling $USER access"
  29.     disabled=`grep "$USER:!" /etc/shadow | wc -l`;
  30.     if [ "$disabled" -gt "0" ]; then
  31.         echo "$USER was already disabled"
  32.     else
  33.         sed -i "s/^$USER:/$USER:!/" /etc/shadow
  34.         echo "Disabled $USER";
  35.     fi
  36.    
  37.     connected=`cat /etc/openvpn/$SERVER/status | grep CLIENT_LIST | grep "$USER" | wc -l`
  38.    
  39.     if [ "$connected" -gt "0" ]; then
  40.         #reload openvpn
  41.         echo "Restarting openvpn to cut existing connection"
  42.         /sbin/service stop_vpn${SERVER}
  43.         /sbin/service start_vpn${SERVER}
  44.     else
  45.         echo "Not restarting openvpn because user is not connected"
  46.     fi
  47.    
  48. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement