]> err.no Git - util-linux/commitdiff
uuidd: init /var/run/uuidd, add option for on-demand mode to .rc file
authorKarel Zak <kzak@redhat.com>
Wed, 1 Jul 2009 19:25:37 +0000 (21:25 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 1 Jul 2009 19:25:37 +0000 (21:25 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
misc-utils/uuidd.rc

index e6bc7640aab7b1036987d27267d6df6b2a7ecc75..dbdd5f5c39fd6cf0fc9459606dfc91ee640bba9a 100644 (file)
 #
 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