X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fvuseradd;h=b54aec9204d08a164c5b60065b9931e07296e46f;hb=a6e1134d8bdb41b0146cdac83e4e82909e74cb47;hp=80b00f2958c2e95c1725adac51cc7a8dfb4f9ebd;hpb=66033b3d11dfc7db217940ead889491f71c84813;p=util-vserver-pl.git diff --git a/scripts/vuseradd b/scripts/vuseradd index 80b00f2..b54aec9 100755 --- a/scripts/vuseradd +++ b/scripts/vuseradd @@ -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