#!/bin/bash if [ -z "$1" ] || [ -z "$2" ]; then echo "Usage: $0 "; exit 1 fi CHROOT_USERNAME="$1" CHROOT_GROUP="$(id -gn $CHROOT_USERNAME)" CHROOT_HOME="$2" CHROOT_SHARED="/home/.chroot" SDIR="$(pwd)" test -d "$CHROOT_HOME" || mkdir -p "$CHROOT_HOME" cd "$CHROOT_HOME" mkdir -p bin dev etc usr usr/bin usr/lib usr/lib/ssh lib mknod -m 0666 dev/tty c 5 0 mknod -m 0644 dev/urandom c 1 9 cp /etc/nsswitch.conf etc touch etc/resolv.conf etc/profile echo "order hosts" > etc/host.conf echo "127.0.0.1 localhost" > etc/hosts egrep "^(root|$CHROOT_USERNAME)" /etc/passwd > etc/passwd egrep "^(root|$CHROOT_GROUP)" /etc/group > etc/group mkdir .ssh touch .ssh/known_hosts chown "$CHROOT_USERNAME:$CHROOT_GROUP" .ssh/known_hosts ln "$CHROOT_SHARED"/bin/* bin/ &>/dev/null ln "$CHROOT_SHARED"/lib/* lib/ &>/dev/null ln "$CHROOT_SHARED"/usr/bin/* usr/bin/ &>/dev/null ln "$CHROOT_SHARED"/usr/lib/* usr/lib/ &>/dev/null ln "$CHROOT_SHARED"/usr/lib/ssh/* usr/lib/ssh/ &>/dev/null echo -e "#!/bin/bash\nid -Gn" > usr/bin/groups chmod +x usr/bin/groups cd "$SDIR"