if [ "$(whoami 2>/dev/null)" != "root" ] && [ "$(id -un 2>/dev/null)" != "root" ] ; then
echo " NO!
-Error: You must be root to run this script."
+Error: You must be root to run this script." >&2
exit 1
fi
echo " OK";
else echo " failed
Please install which-binary!
-"
+" >&2
exit 1
fi
chroot not found!
Please install chroot-package/binary!
-"
+" >&2
exit 1
fi
sudo not found!
Please install sudo-package/binary!
-"
+" >&2
exit 1
fi
dirname not found!
Please install dirname-binary (to be found eg in the package coreutils)!
-"
+" >&2
exit 1
fi
awk not found!
Please install (g)awk-package/binary!
-"
+" >&2
exit 1
fi
read MODIFYUSER
if [ "$MODIFYUSER" != "yes" ]; then
echo "
-Not entered yes. Exiting...."
+Not entered yes. Exiting...." >&2
exit 1
fi
}
read OVERWRITE
if [ "$OVERWRITE" != "yes" ]; then
echo "
-Not entered yes. Exiting...."
+Not entered yes. Exiting...." >&2
exit 1
fi
else
# skip the creation of the new account
if [ "$1" != "update" ]; then
-# Modifiy /etc/sudoers to enable chroot-ing for users
+# Modify sudo config to enable chroot-ing for users,
# must be removed by hand if account is deleted
-echo "Modifying /etc/sudoers"
-echo "$CHROOT_USERNAME ALL=NOPASSWD: `which chroot`, /bin/su - $CHROOT_USERNAME" >> /etc/sudoers
+SUDOERS="$CHROOT_USERNAME ALL=NOPASSWD: $(which chroot), /bin/su - $CHROOT_USERNAME"
+if [ -d /etc/sudoers.d ]; then
+ echo "Installing sudoers configuration file /etc/sudoers.d/jail-$CHROOT_USERNAME"
+ echo "$SUDOERS" > "/etc/sudoers.d/jail-$CHROOT_USERNAME"
+ chmod 0440 "/etc/sudoers.d/jail-$CHROOT_USERNAME"
+else
+ echo "Modifying /etc/sudoers"
+ echo "$SUDOERS" >> /etc/sudoers
+fi
# Define HomeDir for simple referencing
HOMEDIR="$JAILPATH/home/$CHROOT_USERNAME"
# Enter password for new account
if !(passwd $CHROOT_USERNAME);
- then echo "Passwords are probably not the same, try again."
+ then echo "Passwords are probably not the same, try again." >&2
exit 1;
fi
echo