* s!ctx_t!xid_t!
[util-vserver.git] / util-vserver / scripts / vserver
index 0fb590b..0c74cee 100755 (executable)
@@ -36,6 +36,7 @@ SAVE_S_CONTEXT_CMD=$USR_LIB_VSERVER/save_s_context
 CAPCHROOT_CMD=$USR_LIB_VSERVER/capchroot
 VSERVERKILLALL_CMD=$USR_LIB_VSERVER/vserverkillall
 DEFAULTPATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
+
 vserver_mknod(){
        mknod $1 $2 $3 $4
        chmod $5 $1
@@ -46,7 +47,7 @@ mountproc()
        mkdir -p $1/proc $1/dev/pts
        if [ ! -d $1/proc/1 ] ; then
                mount -t proc none $1/proc
-               mount -t devpts none $1/dev/pts
+               mount -t devpts -o gid=5,mode=0620 none $1/dev/pts
        fi
 }
 umountproc()
@@ -457,6 +458,8 @@ elif [ "$2" = "start" ] ; then
 
                rm -f `find var/run -type f`
                touch var/run/utmp
+               chgrp ${UTMP_GROUP:-utmp} var/run/utmp
+               chmod 0664 var/run/utmp
                rm -f  var/lock/subsys/*
                mountproc $VROOTDIR/$1
                CTXOPT=
@@ -469,6 +472,8 @@ elif [ "$2" = "start" ] ; then
                STARTCMD="/etc/rc.d/rc $INITDEFAULT"
                if [ -x $VROOTDIR/$1/etc/init.d/rc ] ; then
                        STARTCMD="/etc/init.d/rc $INITDEFAULT"
+               elif [ -x $VROOTDIR/$1/usr/bin/emerge ] ; then
+                       STARTCMD="/sbin/rc default"
                fi
 
                DISCONNECT=
@@ -582,7 +587,10 @@ elif [ "$2" = "stop" ] ; then
                STOPCMD="/etc/rc.d/rc 6"
                if [ -x $VROOTDIR/$1/etc/init.d/rc ] ; then
                        STOPCMD="/etc/init.d/rc 6"
+               elif [ -x $VROOTDIR/$1/usr/bin/emerge ] ; then
+                       STOPCMD="/sbin/rc shutdown"
                fi
+
                for f in $S_FLAGS dummy
                do
                        case $f in