#!/bin/bash -x set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR if [[ $EUID != 0 ]]; then echo "$0: error: expected to be root." exit 1 fi dir=/q/root/shadow if [[ ! -e $dir ]]; then mkdir -p $dir echo "IANNNNNN 111" ls -la $FAI/distro-install-common/shadow mount -o bind $FAI/distro-install-common/shadow $dir fi $FAI/distro-install-common/end 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=$FAI_ROOT/home/ian/.ssh/authorized_keys if [[ ! -L $f || -e $f ]]; then fcopy -r -M /home/ian/.ssh else echo "$0: info: $f exists" fi rm -f $FAI_ROOT/etc/apt/sources.list chroot $FAI_ROOT bash <<'EOF' set -eE -o pipefail chown -R 1000:1000 /home/ian/.ssh chmod -R u=Xrw,og= /home/ian/.ssh rm -rf /root/.ssh cp -rL /home/ian/.ssh /root chown -R root:root /root/.ssh chmod 700 /root/.ssh # default jessie groups + kvm & systemd-journal usermod -aG cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,systemd-journal ian EOF # 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 # makes the journal be saved to disk. $ROOTCMD mkdir -p $FAI_ROOT/var/log/journal $ROOTCMD chmod 755 $FAI_ROOT/var/log/journal