#!/bin/bash -x set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR $ROOTCMD adduser --disabled-password --gecos ian ian if [[ ! $ROOTPW ]]; then echo "$0: error: empty \$ROOTPW" exit 1 fi $ROOTCMD usermod -p "$ROOTPW" ian if ifclass STABLE; then fcopy -M /etc/apt/preferences fi if ifclass DEBIAN; then fcopy -M /etc/apt/preferences.d/unstable fcopy -riM /etc/apt/sources.list.d fi # note: # fcopy -i = ignore nonmatching class error, always return 0. f=/target/home/ian/.ssh/authorized_keys if [[ ! -L $f || -e $f ]]; then fcopy -r -M /home/ian/.ssh fi /var/lib/fai/config/distro-install-common/end rm -f /target/etc/apt/sources.list chroot /target bash <<'EOF' set -eE -o pipefail chown -R 1000:1000 /home/ian/.ssh chmod -R u=Xrw,og= /home/ian/.ssh cp -ar /home/ian/.ssh /root chown -R root:root /root/.ssh # default jessie groups + kvm & systemd-journal usermod -aG cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,kvm,systemd-journal ian EOF $ROOTCMD apt-get -y install unison-gtk if ifclass STABLE; then # don't think this is needed since I figured out how to # deal with mismatching unison compilers, but I don't # see any reason to revert it, since it only installs # a single package which is primarily a single binary $ROOTCMD apt-get -y install unison-gtk/testing fi $ROOTCMD adduser --disabled-password --gecos traci traci $ROOTCMD usermod -a -G traci ian # reading through the groups that ian is in but traci isn't, for g in plugdev audio video cdrom; do $ROOTCMD usermod -a -G $g traci done if ifclass frodo; then $ROOTCMD usermod -p "$(cat /var/lib/fai/config/distro-install-common/shadow/traci-simple)" traci fi