diff --git a/bin/kali-finish-install b/bin/kali-finish-install new file mode 100755 index 0000000..9456690 --- /dev/null +++ b/bin/kali-finish-install @@ -0,0 +1,66 @@ +#!/bin/sh + +# The reference version of this script is maintained in +# live-build-config/bin/kali-finish-install. +# +# It is used in multiple places to finish configuring the target system +# and build.sh copies it where required (in the simple-cdd configuration +# and in the live-build configuration). + +configure_sources_list() { + if grep -q '^deb ' /etc/apt/sources.list; then + echo "INFO: sources.list is configured, everything is fine" + return + fi + + echo "INFO: sources.list is empty, setting up a default one for Kali" + + cat >/etc/apt/sources.list </dev/null; then + echo "WARNING: user '$user' is invalid but /home/$user exists" + continue + fi + echo "$user" + done +} + +configure_zsh() { + if grep -q 'nozsh' /proc/cmdline; then + echo "INFO: user opted out of zsh by default" + return + fi + if [ ! -x /usr/bin/zsh ]; then + echo "INFO: /usr/bin/zsh is not available" + return + fi + for user in $(get_user_list); do + echo "INFO: changing default shell of user '$user' to zsh" + chsh --shell /usr/bin/zsh $user + done +} + +configure_kaboxer() { + # Create the group if needed + addgroup --system kaboxer || true + + # Add the users to the group + for user in $(get_user_list); do + echo "INFO: adding user '$user' to group 'kaboxer'" + adduser $user kaboxer || true + done +} + +configure_sources_list +configure_zsh +configure_kaboxer diff --git a/build.sh b/build.sh index 6757644..f61b03c 100755 --- a/build.sh +++ b/build.sh @@ -212,6 +212,7 @@ case "$IMAGE_TYPE" in if [ "$NO_CLEAN" = "" ]; then run_and_log $SUDO lb clean --purge fi + cp bin/kali-finish-install kali-config/common/includes.installer/ [ $? -eq 0 ] || failure run_and_log lb config -a $KALI_ARCH $KALI_CONFIG_OPTS "$@" [ $? -eq 0 ] || failure @@ -259,6 +260,9 @@ case "$IMAGE_TYPE" in # Tasksel is required in the mirror for debian-cd echo tasksel >>simple-cdd/profiles/kali.downloads + # Update the postinst script + cp bin/kali-finish-install simple-cdd/profiles/kali.postinst + # Run simple-cdd cd simple-cdd run_and_log build-simple-cdd \ diff --git a/kali-config/common/includes.installer/kali-finish-install b/kali-config/common/includes.installer/kali-finish-install new file mode 100755 index 0000000..9456690 --- /dev/null +++ b/kali-config/common/includes.installer/kali-finish-install @@ -0,0 +1,66 @@ +#!/bin/sh + +# The reference version of this script is maintained in +# live-build-config/bin/kali-finish-install. +# +# It is used in multiple places to finish configuring the target system +# and build.sh copies it where required (in the simple-cdd configuration +# and in the live-build configuration). + +configure_sources_list() { + if grep -q '^deb ' /etc/apt/sources.list; then + echo "INFO: sources.list is configured, everything is fine" + return + fi + + echo "INFO: sources.list is empty, setting up a default one for Kali" + + cat >/etc/apt/sources.list </dev/null; then + echo "WARNING: user '$user' is invalid but /home/$user exists" + continue + fi + echo "$user" + done +} + +configure_zsh() { + if grep -q 'nozsh' /proc/cmdline; then + echo "INFO: user opted out of zsh by default" + return + fi + if [ ! -x /usr/bin/zsh ]; then + echo "INFO: /usr/bin/zsh is not available" + return + fi + for user in $(get_user_list); do + echo "INFO: changing default shell of user '$user' to zsh" + chsh --shell /usr/bin/zsh $user + done +} + +configure_kaboxer() { + # Create the group if needed + addgroup --system kaboxer || true + + # Add the users to the group + for user in $(get_user_list); do + echo "INFO: adding user '$user' to group 'kaboxer'" + adduser $user kaboxer || true + done +} + +configure_sources_list +configure_zsh +configure_kaboxer diff --git a/kali-config/common/includes.installer/usr/lib/finish-install.d/14fix-kali-sources-list b/kali-config/common/includes.installer/usr/lib/finish-install.d/14fix-kali-sources-list deleted file mode 100755 index 9c8a04a..0000000 --- a/kali-config/common/includes.installer/usr/lib/finish-install.d/14fix-kali-sources-list +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -if grep -q '^deb ' /target/etc/apt/sources.list; then - echo "INFO: sources.list is configured, everything is fine" - exit 0 -fi - -echo "INFO: sources.list is empty, setting up a default one for Kali" - -cat >/target/etc/apt/sources.list <