si3t.ch> cd /

TaBr - tabr_deluser pour supprimer un utilisateur

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.

Une réaction?

Envoyez votre commentaire par mail (anonyme).

Mode d'emploi de la liste de diffusion pour recevoir les réponses.


[XHTML 1.1 valid] [CSS < 256B] [] [http/Tor]