7 usage="usage: $quis [-nqv] HOST ..."
11 while getopts "hnvq" opt; do
13 h) echo "$usage"; exit ;;
14 n) noact=t verbose=t ;;
17 *) echo >&2 "$usage"; exit 1 ;;
20 shift $(( $OPTIND - 1 ))
22 case $# in 0) echo "$usage"; exit 1 ;; esac
26 case $verbose in t) echo >&2 "- $*" ;; esac
27 case $noact in nil) "$@" ;; esac
31 if getent group backup >/dev/null; then
32 echo >&2 "$quis: group \`backup' already exists"
34 run addgroup --gid 200 backup
39 if getent passwd bkp-$host >/dev/null; then
40 echo >&2 "$quis: backup user \`bkp-$host' already exists"
43 while { getent passwd $uid || getent group $uid; } >/dev/null; do
46 run addgroup --system --gid $uid bkp-$host
47 run adduser --system --uid $uid --gid $uid \
48 --home /var/lib/bkp/$host \
50 --gecos "Backup user for host $host" \
55 getent group backup | {
56 IFS=: read name passwd gid members
59 echo >&2 "$quis: user \`bkp-$host' already in group \`backup'"
62 run adduser bkp-$host backup
67 settings="verbose=$verbose noact=$noact"
68 run mkdir -p -m755 /var/lib/bkp/$host/.ssh
69 ssh root@$host "$settings; $defrun" '
73 if [ ! -f id_rsa.pub ]; then
77 ssh-keygen -l -fid_rsa.pub | {
78 read bits fpr fname type
84 if [ $bits -ge 3072 ]; then echo nil; else echo t; fi
96 run ssh-keygen -trsa -fid_rsa -b3072 -N ""
100 run scp root@$host:.ssh/id_rsa.pub /var/lib/bkp/$host/.ssh/authorized_keys