36 lines
859 B
Bash
36 lines
859 B
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
rm -Rf /etc/raddb
|
|
if [ -f "/config/clients.conf" ]; then
|
|
echo "Radius config already exists, skipping config copy..."
|
|
else
|
|
echo "Radius config does not exist, copying..."
|
|
cp -Rf /defaults/raddb/* /config/
|
|
fi
|
|
|
|
chown -R freerad:freerad /config
|
|
ln -s /etc/raddb /config
|
|
|
|
# this if will check if the first argument is a flag
|
|
# but only works if all arguments require a hyphenated flag
|
|
# -v; -SL; -f arg; etc will work, but not arg1 arg2
|
|
if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
|
|
set -- freeradius "$@"
|
|
fi
|
|
|
|
# check for the expected command
|
|
if [ "$1" = 'freeradius' ]; then
|
|
shift
|
|
exec freeradius -f "$@"
|
|
fi
|
|
|
|
# many people are likely to call "radiusd" as well, so allow that
|
|
if [ "$1" = 'radiusd' ]; then
|
|
shift
|
|
exec freeradius -f "$@"
|
|
fi
|
|
|
|
# else default to run whatever the user wanted like "bash" or "sh"
|
|
exec "$@"
|