Ce 2e script est très court, mais autant le prévoir tout de suite.
Comme son nom l'indique, il permettra de supprimer un utilisateur.
Il s'utilisera ainsi:
doas -u _tabr_admin tabr_deluser hseldon
Comme d'hab, on commence par charger la configuration, prévoir une fonction qui indique comment se servir du script, et vérifier qu'un nom d'utilisateur a bien été donné en argument:
. /etc/tabr.conf usage() { printf "%s <username>\n" $0 exit 1 } ## get arguments into variables [[ -z "${1}" ]] && usage
Vous noterez ici que j'utilise un test "si chaîne nulle" et non "si nombre d'argument est égal à 1". C'est parce que j'ai passé le flag "-e" au shebang, qui provoque l'arrêt du script en cas d'erreur. Or, si un test échoue, c'est considéré comme une erreur.
Pour simplifier la suite, on met le nom d'utilisateur dans une variable:
u="${1}"
Et c'est tout, on peut supprimer l'utilisateur:
## system user doas /usr/sbin/userdel -r "${u}"
Vous noterez l'option "-r" qui permet de supprimer aussi le dossier personnel de l'utilisateur.
## xmpp account doas /usr/local/sbin/prosodyctl deluser "${u}@${domain}"
On en fait de même avec prosody.
Si on avait ajouté l'utilisateur à une installation dokuwiki, on pourrait aussi avoir ensuite:
php /path/to/dokuwiki/bin/plugin.php usermanager delete hseldon
Pour terminer, on supprimer les fichiers qui contenaient le code de récupération et les instructions destinées à l'utilisateur:
## recovery file rm ${data}/${u} ## instructions rm "${data_instructions}/${u}.txt"
Et voilà!
Prochains articles : on décrit le changement de mot de passe, et l'interface CGI qui permettra de faire la demande.
Envoyez votre commentaire par mail (anonyme).
Mode d'emploi de la liste de diffusion pour recevoir les réponses.