Qiang Chen 5f8ef9cfb2 ntpd: make start-stop-daemon command available for ntpd
If ntpd script is being called by a non-root user using sudo,
it will fail as follows:

/etc/init.d/ntpd restart
Stopping ntpd: /etc/init.d/ntpd: line 29: start-stop-daemon:
command not found
done
Starting ntpd: /etc/init.d/ntpd: line 24: start-stop-daemon:
command not found
done

This is because /etc/init.d/ntpd calls start-stop-daemon which
is in /sbin (not in the default path for non-root users)

Explicitly configure the PATH to include /sbin.

Signed-off-by: Qiang Chen <qiang.chen@windriver.com>
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>

Reworked to set PATH instead of hardcode the location of start-stop-daemon

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Joe MacDonald <joe@deserted.net>
2013-11-26 09:28:33 -05:00

65 lines
1.3 KiB
Bash
Executable File

#! /bin/sh
#
PATH=/sbin:/bin:/usr/bin:/usr/sbin
# ntpd init.d script for ntpdc from ntp.isc.org
test -x /usr/bin/ntpd -a -r /etc/ntp.conf || exit 0
# rcS contains TICKADJ
test -r /etc/default/rcS && . /etc/default/rcS
# Functions to do individual actions
settick(){
# If TICKADJ is set we *must* adjust it before we start, because the
# driftfile relies on the correct setting
test -n "$TICKADJ" -a -x /usr/bin/tickadj && {
echo -n "Setting tick to $TICKADJ: "
/usr/bin/tickadj "$TICKADJ"
echo "done"
}
}
startdaemon(){
# The -g option allows ntpd to step the time to correct it just
# once. The daemon will exit if the clock drifts too much after
# this. If ntpd seems to disappear after a while assume TICKADJ
# above is set to a totally incorrect value.
echo -n "Starting ntpd: "
start-stop-daemon --start -x /usr/bin/ntpd -- -p /var/run/ntp.pid "$@"
echo "done"
}
stopdaemon(){
echo -n "Stopping ntpd: "
start-stop-daemon --stop -p /var/run/ntp.pid
echo "done"
}
case "$1" in
start)
settick
startdaemon -g
;;
stop)
stopdaemon
;;
force-reload)
stopdaemon
settick
startdaemon -g
;;
restart)
# Don't reset the tick here
stopdaemon
startdaemon -g
;;
reload)
# Must do this by hand, but don't do -g
stopdaemon
startdaemon
;;
*)
echo "Usage: ntpd { start | stop | restart | reload }" >&2
exit 1
;;
esac
exit 0