#!/bin/sh ## live-config(7) - System Configuration Components ## Copyright (C) 2006-2015 Daniel Baumann ## ## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. ## This is free software, and you are welcome to redistribute it ## under certain conditions; see COPYING for details. #set -e Cmdline () { # Reading kernel command line for _PARAMETER in ${LIVE_CONFIG_CMDLINE} do case "${_PARAMETER}" in live-config.user-default-groups=*|user-default-groups=*) LIVE_USER_DEFAULT_GROUPS="${_PARAMETER#*user-default-groups=}" ;; live-config.user-fullname=*|user-fullname=*) LIVE_USER_FULLNAME="${_PARAMETER#*user-fullname=}" ;; live-config.username=*|username=*) LIVE_USERNAME="${_PARAMETER#*username=}" ;; esac done } Init () { # Checking if package is installed or already configured if [ ! -e /var/lib/dpkg/info/user-setup.list ] || \ [ -e /var/lib/live/config/user-setup ] then exit 0 fi echo -n " user-setup" } Config () { # Checking if package is already configured differently if grep -q "^${LIVE_USERNAME}:" /etc/passwd then exit 0 fi # Adjust formating of groups if [ -n "${LIVE_USER_DEFAULT_GROUPS}" ] then LIVE_USER_DEFAULT_GROUPS="$(echo ${LIVE_USER_DEFAULT_GROUPS} | sed -e 's|,| |g')" fi # Make sure user is not in sudo group if sudo is disabled case "${LIVE_CONFIG_NOROOT}" in true) LIVE_USER_DEFAULT_GROUPS="$(echo ${LIVE_USER_DEFAULT_GROUPS} | sed -e 's|sudo||')" ;; esac # Default password is: live # passwords can be generated with 'echo "live" | mkpasswd -s', # a blank password is 'U6aMy0wojraho'. _PASSWORD="8Ab05sVQ4LLps" cat > /tmp/live-config.cfg << EOF user-setup passwd/make-user boolean true user-setup passwd/root-password-crypted string * user-setup passwd/user-password-crypted string ${_PASSWORD} user-setup passwd/user-default-groups string ${LIVE_USER_DEFAULT_GROUPS} user-setup passwd/user-fullname string ${LIVE_USER_FULLNAME} user-setup passwd/username string ${LIVE_USERNAME} user-setup passwd/user-uid string 1000 EOF debconf-set-selections < /tmp/live-config.cfg rm -f /tmp/live-config.cfg # Workaround for bug in shadow set +e /usr/lib/user-setup/user-setup-apply 2>&1 \ | grep -v "Shadow passwords are now on" set -e # Creating state file touch /var/lib/live/config/user-setup } Cmdline Init Config