4 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
6 $ROOTCMD adduser
--disabled-password --gecos ian ian
8 if [[ ! $ROOTPW ]]; then
9 echo "$0: error: empty \$ROOTPW"
13 $ROOTCMD usermod
-p "$ROOTPW" ian
15 if ifclass STABLE
; then
16 fcopy
-M /etc
/apt
/preferences
19 if ifclass DEBIAN
; then
20 fcopy
-M /etc
/apt
/preferences.d
/unstable
21 fcopy
-riM /etc
/apt
/sources.list.d
26 # fcopy -i = ignore nonmatching class error, always return 0.
28 f
=/target
/home
/ian
/.ssh
/authorized_keys
29 if [[ ! -L $f ||
-e $f ]]; then
30 fcopy
-r -M /home
/ian
/.
ssh
32 /var
/lib
/fai
/config
/distro-install-common
/end
34 rm -f /target
/etc
/apt
/sources.list
36 chroot
/target bash
<<'EOF'
38 chown -R 1000:1000 /home/ian/.ssh
39 chmod -R u=Xrw,og= /home/ian/.ssh
40 cp -ar /home/ian/.ssh /root
41 chown -R root:root /root/.ssh
43 # default jessie groups + kvm & systemd-journal
44 usermod -aG cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,kvm,systemd-journal ian
48 $ROOTCMD apt-get
-y install unison-gtk
49 if ifclass STABLE
; then
50 # don't think this is needed since I figured out how to
51 # deal with mismatching unison compilers, but I don't
52 # see any reason to revert it, since it only installs
53 # a single package which is primarily a single binary
54 $ROOTCMD apt-get
-y install unison-gtk
/testing
59 $ROOTCMD adduser
--disabled-password --gecos traci traci
60 $ROOTCMD usermod
-a -G traci ian
61 # reading through the groups that ian is in but traci isn't,
62 for g
in plugdev audio video cdrom
; do
63 $ROOTCMD usermod
-a -G $g traci
66 if ifclass frodo
; then
67 $ROOTCMD usermod
-p "$(cat /var/lib/fai/config/distro-install-common/shadow/traci-simple)" traci