#!/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 if ! type -t fcopy &>/dev/null; then sudo apt-get -y install fai-client fi dir=/q/root/shadow fai_shadow=$FAI/distro-install-common/shadow if [[ ! -e $dir && -e $fai_shadow ]]; then mkdir -p $dir mount -o bind $fai_shadow $dir fi $FAI/distro-install-common/end if ifclass STABLE || ifclass LINODESTABLE; 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 $ROOTCMD apt-get update fi # note: # fcopy -i = ignore nonmatching class error, always return 0. # for lj, this will be empty and fail fcopy -riM /home/ian/.ssh rm -f $FAI_ROOT/etc/apt/sources.list chroot $FAI_ROOT bash <<'EOF' set -eE -o pipefail mkdir -p /home/ian/.ssh f=/root/.ssh/authorized_keys if [[ -e $f ]]; then cp $f /home/ian/.ssh fi 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, adm usermod -aG adm,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