# TaBr - tabr_deluser pour supprimer un utilisateur
2023-05-14T21:38:21Z

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?

=> mailto:bla@bla.si3t.ch?subject=TaBr-tabr_deluser-part2.gmi Envoyez votre commentaire par mail (anonyme).
=> /log/commentaires/ Mode d'emploi de la liste de diffusion pour recevoir les réponses.