+++ /dev/null
-# $Id: vserver.suexec 2599 2007-08-26 21:30:50Z dhozac $ --*- sh -*--
-
-# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-is_stopped=
-isVserverRunning "$VSERVER_DIR" S_CONTEXT || is_stopped=1
-test -z "$is_stopped" -o "$OPTION_INSECURE" || {
- echo $"'vserver ... suexec' is supported for running vservers only; aborting..." >&2
- exit 1
-}
-generateOptions "$VSERVER_DIR"
-addtoCPUSET "$VSERVER_DIR"
-
-user=$1
-shift
-
-cd "$VSERVER_DIR"/vdir/
-
-test -z "$OPTION_NONAMESPACE" || USE_VNAMESPACE=
-
-if $_VSERVER_INFO - FEATURE migrate; then
- if test -z "$is_stopped"; then
- exec \
- "${NICE_CMD[@]}" \
- "${CHBIND_CMD[@]}" \
- $_EXEC_ULIMIT "$VSERVER_DIR/ulimits" \
- ${USE_VNAMESPACE:+$_VNAMESPACE --enter "$S_CONTEXT" -- } \
- $_VTAG --migrate "${OPTS_VTAG_ENTER[@]}" --silent -- \
- $_VCONTEXT $SILENT_OPT --migrate --chroot \
- --xid "$S_CONTEXT" --uid "$user" "${OPTS_VCONTEXT_ENTER[@]}" -- \
- "$@"
- else
- exec \
- "${NICE_CMD[@]}" \
- "${CHBIND_CMD[@]}" \
- $_EXEC_ULIMIT "$VSERVER_DIR/ulimits" \
- $_VTAG --create "${OPTS_VTAG_CREATE[@]}" --silent -- \
- $_VCONTEXT --create "${OPTS_VCONTEXT_CREATE[@]}" -- \
- $_VUNAME --xid self --dir "$VSERVER_DIR"/uts --missingok -- \
- $_VUNAME --xid self --set -t context="$VSERVER_DIR" -- \
- $_VCONTEXT --migrate-self --endsetup --chroot $SILENT_OPT -- \
- "$@"
- fi
-else
- exec \
- "${NICE_CMD[@]}" \
- "${CHBIND_CMD[@]}" \
- "$_EXEC_ULIMIT" "$VSERVER_DIR/ulimits" \
- ${USE_VNAMESPACE:+$_VNAMESPACE --enter "$S_CONTEXT" --} \
- $_CHCONTEXT_COMPAT "${CHCONTEXT_OPTS[@]}" -- \
- "$_CAPCHROOT" "${CAPCHROOT_OPTS[@]}" --suid "$user" . \
- "$@"
-fi