unshare-helper/app/cmd/prefix-start

26 lines
577 B
Bash
Executable File

#!/usr/bin/env bash
set -e
export UNSHH_CHROOT="$1"
UNSHH_COMMAND=("${@}")
unset "UNSHH_COMMAND[0]"
if ! [ -d "$1" ]; then
echo "'$1' is not a directory."
exit 1
fi
if ! [ -f "$1/etc/resolv.conf" ]; then
cp "/etc/resolv.conf" "$1/etc/resolv.conf"
fi
if ! [ -d "$1/opt/unshh" ]; then
mkdir -p "$1/opt"
cp -r "$UNSHH_DIR/skel" "$1/opt/unshh"
fi
export UNSHH_GROUP_NAME="$(id -n -g)"
export UNSHH_GROUP_ID="$(id -g)"
export UNSHH_USER_NAME="$(id -n -u)"
export UNSHH_USER_ID="$(id -u)"
unshare --mount --map-root-user "$UNSHH_CHROOT/opt/unshh/init" "${UNSHH_COMMAND[@]}"