summaryrefslogtreecommitdiffstats
path: root/misc-utils/uuidd.rc
diff options
context:
space:
mode:
Diffstat (limited to 'misc-utils/uuidd.rc')
-rw-r--r--misc-utils/uuidd.rc26
1 files changed, 21 insertions, 5 deletions
diff --git a/misc-utils/uuidd.rc b/misc-utils/uuidd.rc
index e6bc7640a..dbdd5f5c3 100644
--- a/misc-utils/uuidd.rc
+++ b/misc-utils/uuidd.rc
@@ -13,18 +13,34 @@
#
set -e
+# libuuid is able to execute the uuid daemon on-demand -- in such a case
+# the daemon binary must be setuid to an unprivileged user (e.g. uuidd:uuidd).
+# [-- kzak Jun 2009]
+UUIDD_ON_DEMAND_ONLY="no"
+
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/sbin/uuidd
-PIDFILE=/var/run/uuidd/uuidd.pid
+UUIDD_USER=uuidd
+UUIDD_GROUP=uuidd
+UUIDD_DIR=/var/run/uuidd
+PIDFILE=$UUIDD_DIR/uuidd.pid
test -x $DAEMON || exit 0
. /lib/lsb/init-functions
case "$1" in
- start)
+ start)
log_daemon_msg "Starting uuid generator" "uuidd"
- start_daemon -p $PIDFILE $DAEMON
+ if ! test -d $UUIDD_DIR; then
+ mkdir -p $UUIDD_DIR
+ chown -R $UUIDD_USER:$UUIDD_GROUP $UUIDD_DIR
+ fi
+ if test "$UUIDD_ON_DEMAND_ONLY" = yes; then
+ echo -n "(on demand only)"
+ else
+ start_daemon -p $PIDFILE $DAEMON
+ fi
log_end_msg $?
;;
stop)
@@ -38,10 +54,10 @@ case "$1" in
exit 0;
else
echo "$DAEMON is NOT running";
- if test -f $PIDFILE; then exit 2; fdi
+ if test -f $PIDFILE; then exit 2; fi
exit 3;
fi
- ;;
+ ;;
force-reload|restart)
$0 stop
$0 start