1
Files
qnap-rc-scripts/radius.sh
2016-09-04 22:20:40 +03:00

87 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
# For radius
[ ! -f "/etc/config/radius_global.conf" ] && /bin/touch "/etc/config/radius_global.conf"
init_conf()
{
if [ ! -f /sbin/radius_util ]; then
/bin/echo "/sbin/radius_util is not exit."
exit 1
fi
if [ -d /etc/raddb/log ]; then
/bin/rm -rf /etc/raddb/log/*
/bin/touch /etc/raddb/log/radutmp
else
/bin/mkdir -p /etc/raddb/log
/bin/touch /etc/raddb/log/radutmp
fi
/sbin/radius_util init
}
start()
{
if [ ! -f /usr/local/sbin/radiusd ]; then
/bin/echo "radiusd is not exit."
exit 1
fi
if [ -f /var/run/radiusd.pid ]; then
/bin/echo "radiusd is aleady run."
exit 1
fi
if [ `/sbin/getcfg "Global" "Enable" -u -d "FALSE" -f "/etc/config/radius_global.conf"` = "TRUE" ]; then
/bin/echo "radiusd start."
init_conf
# /usr/local/sbin/radiusd -d /etc/raddb
/sbin/daemon_mgr radiusd start "/usr/local/sbin/radiusd -d /etc/raddb"
else
/bin/echo "radiusd is disabled."
fi
}
stop()
{
/bin/echo "radiusd stop."
/sbin/daemon_mgr radiusd stop "/usr/local/sbin/radiusd -d /etc/raddb"
/bin/kill -9 `/bin/cat /var/run/radiusd.pid` 1>>/dev/null 2>&1
/bin/rm -f /var/run/radiusd.pid 1>>/dev/null 2>&1
}
reload()
{
/bin/echo "radiusd reload."
init_conf
if [ -f /var/run/radiusd.pid ]; then
/bin/kill -HUP `/bin/cat /var/run/radiusd.pid`
else
/bin/kill -HUP `/bin/pidof radiusd`
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
/bin/sleep 3
start
;;
reload)
reload
;;
*)
echo "Usage: /etc/init.d/$0 {start|stop|restart|reload}"
exit 1
esac
exit 0