X-Git-Url: https://iankelling.org/git/?p=automated-distro-installer;a=blobdiff_plain;f=fai%2Fconfig%2Fdistro-install-common%2Fend;h=a6bc1137c56721a1eebee75080c4afd22b31188a;hp=3948073df0ec311cbc01bc9efe63e52011b3409a;hb=917fa30617ccafa3a7ed5218a418cf058948b729;hpb=ef0a70393a38632614fa6382f52546b1177b9f28 diff --git a/fai/config/distro-install-common/end b/fai/config/distro-install-common/end index 3948073..a6bc113 100755 --- a/fai/config/distro-install-common/end +++ b/fai/config/distro-install-common/end @@ -4,8 +4,8 @@ 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 + echo "$0: error: expected to be root." + exit 1 fi # ssh host keys @@ -13,37 +13,37 @@ fi src=$(dirname "$0")/p/c/machine_specific/$HOSTNAME/filesystem/etc/ssh dst=$target/etc/ssh if [[ -e $src && -e $dst ]]; then - # outside of fai context, we skip this - cp -rT $src $dst + # outside of fai context, we skip this + cp -rT $src $dst fi TPW=/q/root/shadow/traci-simple if ifclass tp; then - ROOTPW=/q/root/shadow/standard -# ROOTPW="$TPW" + ROOTPW=/q/root/shadow/standard + # ROOTPW="$TPW" else - ROOTPW=/q/root/shadow/standard + ROOTPW=/q/root/shadow/standard fi chpw() { - # generating a hashed password: - # under debian, you can do - # mkpasswd -m sha-512 -s >/q/root/shadow/standard - # On arch, best seems to be copy your shadow file to a temp location, - # then passwd, get out the new pass, then copy the shadow file back. - - user=$1 - pwfile=$2 - if [[ $pwfile && -e $pwfile ]]; then - printf "$user:" | cat - "$pwfile" | $ROOTCMD chpasswd -e - else - echo "$0: warning: no pw set for $user" >&2 - fi + # generating a hashed password: + # under debian, you can do + # mkpasswd -m sha-512 -s >/q/root/shadow/standard + # On arch, best seems to be copy your shadow file to a temp location, + # then passwd, get out the new pass, then copy the shadow file back. + + user=$1 + pwfile=$2 + if [[ $pwfile && -e $pwfile ]]; then + printf "$user:" | cat - "$pwfile" | $ROOTCMD chpasswd -e + else + echo "$0: warning: no pw set for $user" >&2 + fi } au() { # add user. i don't use adduser for portability - if ! $ROOTCMD getent passwd ${@: -1}; then - $ROOTCMD useradd -Um -s /bin/bash $@ - fi + if ! $ROOTCMD getent passwd ${@: -1}; then + $ROOTCMD useradd -Um -s /bin/bash $@ + fi } chpw root "$ROOTPW" @@ -60,18 +60,18 @@ chpw iank "$ROOTPW" au traci if ifclass frodo; then - chpw traci "$TPW" + chpw traci "$TPW" fi # comparing iank's groups to traci, I see none she should join on arch $ROOTCMD usermod -a -G traci iank + $ROOTCMD getent group docker &>/dev/null || $ROOTCMD groupadd -r docker $ROOTCMD usermod -a -G docker iank # based on unison error, with 8192 from # sysctl -a | grep fs.inotify.max_user_watches #http://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux - f=$target/etc/sysctl.d/99-sysctl.conf key=fs.inotify.max_user_watches if [[ -e $f ]]; then sed -ri --follow-symlinks "/^\s*$key\s*=/d" $f; fi @@ -82,22 +82,22 @@ $ROOTCMD sysctl --system f=$target/etc/sudoers line='iank ALL=(ALL) NOPASSWD: ALL' if [[ ! -e $f ]] || ! grep -xF "$line" $f; then - echo "$line" >> $f + echo "$line" >> $f fi dir=/p/c/machine_specific/$HOSTNAME/.unison $ROOTCMD mkdir -p $dir if ! $ROOTCMD test -L /root/.unison; then - $ROOTCMD rm -rf /root/.unison - $ROOTCMD ln -s -T $dir /root/.unison + $ROOTCMD rm -rf /root/.unison + $ROOTCMD ln -s -T $dir /root/.unison fi $ROOTCMD chown -R 1000:1000 $dir while true; do - $ROOTCMD chown 1000:1000 $dir - $ROOTCMD chmod 700 $dir - dir=$(dirname $dir) - if [[ $dir == /p ]]; then break; fi + $ROOTCMD chown 1000:1000 $dir + $ROOTCMD chmod 700 $dir + dir=$(dirname $dir) + if [[ $dir == /p ]]; then break; fi done au --system -s /bin/false --home-dir /var/lib/bitcoind bitcoin