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