#!/usr/bin/env bash set -eu DESC="Ajoute, si nécessaire un utilisateur toto sur bigboss et tit sur tiny." getRandomPasswd() { local k while :; do k=$(tr -dc _A-Z-a-z-0-9 < /dev/urandom 2> /dev/null | head -c${1:-32} ) if [ $(echo -n $k | wc -c) = 32 ]; then break fi echo "Wait for entropy avail : $(cat /proc/sys/kernel/random/entropy_avail)" >&2 sleep 1 done echo -n $k } repairUser() { k=$(getRandomPasswd) vdn-ssh root@$1 " id $2 2> /dev/null && exit 0 adduser --disabled-password --gecos \"\" --home /home/$2 --shell /bin/bash $2 echo $2:$k| chpasswd " } run() { setErrorHandler echoStart startAndWaitSsh bigboss tiny repairUser bigboss toto repairUser tiny titi unsetErrorHandler echoDone }