merge trellis branch to trunk.
[util-vserver-pl.git] / scripts / vuseradd
index 80b00f2..b54aec9 100755 (executable)
@@ -78,26 +78,27 @@ if [ ! -d $__CONFDIR/$NAME ] ; then
     fi
 
     $_VSERVER $NAME build -m skeleton --context $USERID \
-               --interface nodev:0.0.0.0/0 \
-               --flags persistent,~info_init,sched_hard
+               --interface nodev:`hostname -i` \
+                --interface nodev:127.0.0.1 \
+               --flags persistent,~info_init
     RETVAL=$?
     DIR=$__CONFDIR/$NAME
     if [ $RETVAL -ne 0 ] ; then
        echo "Error $RETVAL building $DIR"
        rm -rf $DIR $__DEFAULT_VSERVERDIR/$NAME
     fi
-    mkdir -p $DIR/apps/init $DIR/rlimits $DIR/sched $DIR/dlimits/0
+    mkdir -p $DIR/apps/init $DIR/rlimits $DIR/sched $DIR/dlimits/0 $DIR/sysctl/0
     echo default > $DIR/apps/init/mark
-    echo 1000 > $DIR/rlimits/nproc
+    echo 1000 > $DIR/rlimits/nproc.hard
 
     # Set persistent for the network context
-    echo persistent > $DIR/nflags
+    echo persistent,lback_allow > $DIR/nflags
 
     # Set up the scheduler
-    echo 1000 > $DIR/sched/interval
+    echo 100 > $DIR/sched/interval
     echo 1000 > $DIR/sched/interval2
     echo 0 > $DIR/sched/fill-rate
-    echo 32 > $DIR/sched/fill-rate2
+    echo 1 > $DIR/sched/fill-rate2
     touch $DIR/sched/idle-time
     echo 100 > $DIR/sched/tokens
     echo 50 > $DIR/sched/tokens-min
@@ -109,9 +110,16 @@ if [ ! -d $__CONFDIR/$NAME ] ; then
     echo -1 > $DIR/dlimits/0/inodes_total
     echo -1 > $DIR/dlimits/0/space_total
 
+    # Set up sysctl variables
+    echo net.ipv4.ip_forward > $DIR/sysctl/0/setting
+    echo 1 > $DIR/sysctl/0/value
+    
     # Disable mount namespaces
     touch $DIR/nonamespace
 
+    # Add spaces directory
+    mkdir -p $DIR/spaces
+
     # Remove the basically empty guest directory
     rm -rf $__DEFAULT_VSERVERDIR/$NAME
     # Move the guest back
@@ -156,14 +164,20 @@ if [ -d "$__DEFAULT_VSERVERDIR/$NAME" ] ; then
     chmod 755 "$__DEFAULT_VSERVERDIR/$NAME"
 
     # Add user in vserver
-    $_VSERVER ----insecure $NAME suexec root sh -c \
-       "groupadd -g $GROUPID $GROUPNAME ; useradd -u $USERID -g $GROUPID -p '' $NAME"
+    $_VSERVER $NAME start --rescue sh -c \
+       "groupadd -g $GROUPID $GROUPNAME ; useradd -m -u $USERID -g $GROUPID -p '' $NAME"
+
+    # Stop the guest (since it's persistent)
+    $_VSERVER $NAME stop
 
     # Add an unrestricted entry to /etc/sudoers file
     if [ -f "$__DEFAULT_VSERVERDIR/$NAME/etc/sudoers" ] && \
        ! grep -q "^$NAME" "$__DEFAULT_VSERVERDIR/$NAME/etc/sudoers" ; then
        echo "$NAME     ALL=(ALL)       ALL" >> "$__DEFAULT_VSERVERDIR/$NAME/etc/sudoers"
     fi
+
+    cp -a /dev/fuse $__DEFAULT_VSERVERDIR/$NAME/dev/
+
 fi
 
 exit 0