userdel - supprimer un compte d'utilisateur et les fichiers associés
SYNTAXE
userdel [options] LOGIN
DESCRIPTION
userdel est un utilitaire de bas niveau pour supprimer des utilisateurs. Sur Debian, les administrateurs doivent généralement utiliser
deluser(8) à la place.
La commande userdel modifie les fichiers de compte système, en supprimant toutes les entrées qui se réfèrent au nom d'utilisateur LOGIN. L'utilisateur spécifié doit exister.
OPTIONS
Les options qui s'appliquent à la commande userdel sont les suivantes :
-f, --force
Cette option force la suppression du compte d'utilisateur et de toute autre action demandée, en ignorant toutes les vérifications de sécurité.
Attention : cette option est dangereuse et peut laisser votre système dans un état incohérent.
-h, --help
Afficher le message d'aide et quitter.
-r, --remove
Les fichiers du répertoire personnel de l'utilisateur seront supprimés, ainsi que le répertoire personnel lui-même et le spool de courrier de l'utilisateur. Les fichiers situés sur d'autres systèmes de fichiers devront être recherchés et supprimés manuellement.
Le spool de courrier est défini par la variable MAIL_DIR dans le fichier login.defs.
-R, --root CHROOT_DIR
Appliquer les modifications dans le répertoire CHROOT_DIR et utiliser les fichiers de configuration du répertoire CHROOT_DIR . Seuls les chemins absolus sont pris en charge.
-P, --prefix PREFIX_DIR
Appliquer les modifications dans le répertoire PREFIX_DIR et utiliser les fichiers de configuration du répertoire PREFIX_DIR . Cette option n'effectue pas de chroot et est destinée à préparer une cible de compilation croisée. Certaines limitations : les utilisateurs/groupes NIS et LDAP ne sont pas vérifiés. L'authentification PAM utilise les fichiers hôtes. Aucune prise en charge de SELINUX.
-Z, --selinux-user
Supprimer tout mappage d'utilisateur SELinux pour le nom d'utilisateur.
CONFIGURATION
Les variables de configuration suivantes dans /etc/login.defs modifient le comportement de cet outil :
MAIL_DIR (chaîne)
Le répertoire du spool de courrier. Ceci est nécessaire pour manipuler la boîte aux lettres lorsque le compte d'utilisateur correspondant est modifié ou supprimé. Si ce n'est pas spécifié, une valeur par défaut est utilisée au moment de la compilation. Le paramètre CREATE_MAIL_SPOOL dans /etc/default/useradd détermine si le spool de courrier doit être créé.
MAIL_FILE (chaîne)
Définit l'emplacement des fichiers de spool de courrier des utilisateurs par rapport à leur répertoire personnel.
Les variables MAIL_DIR et MAIL_FILE sont utilisées par useradd, usermod et userdel pour créer, déplacer ou supprimer le spool de courrier de l'utilisateur.
MAX_MEMBERS_PER_GROUP (nombre)
Nombre maximal de membres par entrée de groupe. Lorsque le nombre maximal est atteint, une nouvelle entrée de groupe (ligne) est démarrée dans /etc/group (avec le même nom, le même mot de passe et le même GID).
La valeur par défaut est 0, ce qui signifie qu'il n'y a pas de limite au nombre de membres dans un groupe.
Cette fonctionnalité (groupe divisé) permet de limiter la longueur des lignes dans le fichier de groupe. Ceci est utile pour s'assurer que les lignes des groupes NIS ne dépassent pas 1 024 caractères.
Si vous devez appliquer une telle limite, vous pouvez utiliser 25.
Remarque : les groupes divisés peuvent ne pas être pris en charge par tous les outils (même dans la suite d'outils Shadow). Vous ne devez pas utiliser cette variable à moins que vous n'en ayez vraiment besoin.
USERDEL_CMD (chaîne)
Si elle est définie, cette commande est exécutée lors de la suppression d'un utilisateur. Elle doit supprimer les tâches at/cron/print appartenant à l'utilisateur à supprimer (passé en tant que premier argument).
Le code de retour du script n'est pas pris en compte.
Voici un exemple de script qui supprime les tâches cron, at et d'impression de l'utilisateur :
#! /bin/sh
# Vérifier l'argument requis.
if [ $# != 1 ]; then
echo "Usage: $0 username"
exit 1
fi
# Supprimer les tâches cron.
crontab -r -u $1
# Supprimer les tâches at.
# Notez que cela supprimera toutes les tâches appartenant au même UID,
# même si elles étaient partagées par un autre nom d'utilisateur.
AT_SPOOL_DIR=/var/spool/cron/atjobs
find $AT_SPOOL_DIR -name "[^.]*" -type f -user $1 -delete \;
# Supprimer les tâches d'impression.
lprm $1
# C'est tout.
exit 0
USERGROUPS_ENAB (booléen)
Si elle est définie sur oui, userdel supprimera le groupe de l'utilisateur s'il ne contient plus de membres, et useradd créera par défaut un groupe avec le nom de l'utilisateur.
FICHIERS
/etc/group
Informations sur le compte de groupe.
/etc/login.defs
Configuration de la suite de mots de passe Shadow.
/etc/passwd
Informations sur le compte utilisateur.
/etc/shadow
Informations sécurisées sur le compte utilisateur.
/etc/shadow-maint/userdel-pre.d/*, /etc/shadow-maint/userdel-post.d/*
Fichiers d'exécution à exécuter lors de la suppression d'un utilisateur. La variable d'environnement ACTION sera remplie avec userdel et SUBJECT avec le nom d'utilisateur. userdel-pre.d sera exécuté avant toute suppression d'utilisateur. userdel-post.d sera exécuté après la suppression de l'utilisateur. Si un script se termine avec un code non nul, l'exécution sera interrompue.
/etc/subgid
ID de groupe secondaire par utilisateur.
/etc/subuid
ID d'utilisateur secondaire par utilisateur.
VALEURS DE SORTIE
La commande userdel quitte avec les valeurs suivantes :
0 succès
1 impossible de mettre à jour le fichier de mot de passe
2 syntaxe de commande non valide
6 l'utilisateur spécifié n'existe pas
8 l'utilisateur est actuellement connecté
10 impossible de mettre à jour le fichier de groupe
12 impossible de supprimer le répertoire personnel
AVERTISSEMENTS
userdel ne vous permettra pas de supprimer un compte s'il existe des processus en cours d'exécution qui appartiennent à
ce compte. Dans ce cas, vous devrez peut-être tuer ces processus ou verrouiller le mot de passe ou le compte de l'utilisateur et supprimer le compte ultérieurement. L'option -f peut forcer la suppression de ce compte.
Vous devez vérifier manuellement tous les systèmes de fichiers pour vous assurer qu'aucun fichier n'est encore la propriété de cet utilisateur.
Vous ne pouvez pas supprimer les attributs NIS sur un client NIS. Cela doit être effectué sur le serveur NIS.
Si USERGROUPS_ENAB est défini sur oui dans /etc/login.defs, userdel supprimera le groupe portant le même nom que l'utilisateur. Pour éviter les incohérences dans les bases de données passwd et group, userdel vérifiera que ce groupe n'est pas utilisé comme groupe principal pour un autre utilisateur, et se contentera d'avertir sans supprimer le groupe dans le cas contraire. L'option -f peut forcer la suppression de ce groupe.
VOIR AUSSI
chfn(1), chsh(1), passwd(1), login.defs(5), gpasswd(8), groupadd(8), groupdel(8), groupmod(8), subgid(5), subuid(5), useradd(8), usermod(8).