Dans un terminal:
/home$ ls
abuabdullah alzaabi hussain u942
Ensuite, j'ai essayé de supprimer le compte u942
en utilisant la ligne de commande:
/home$ deluser u942
/usr/sbin/deluser: Only root may remove a user or group from the system.
Puis j'ai essayé d'utiliser Sudo
/home$ Sudo deluser u942
/usr/sbin/deluser: The user `u942' does not exist.
Comment puis-je résoudre ce problème?
Pour les utilisateurs root/Sudo, il est possible de créer simplement des dossiers dans /home
qui ne sont associés à aucun compte d'utilisateur. C'est pourquoi ls /home
n'est pas une bonne commande pour vérifier les utilisateurs.
Pour répertorier tous les utilisateurs dont le dossier personnel se trouve sous "/ home", vous pouvez exécuter:
getent passwd | grep "/home" | cut -d: -f1
Liste tous les utilisateurs : getent passwd | cut -d: -f1
Vérifiez si l'utilisateur u942 existe: getent passwd | grep u942
. Si vous n'obtenez aucune sortie, aucun utilisateur de ce type n'existe.
Si la sortie est vide, vous pouvez supprimer ce dossier (vous aurez peut-être besoin de Sudo) rm -Rf /home/u942
. Mais vérifiez le contenu du dossier avant de le supprimer.
Comme vous le savez peut-être, il est possible de créer un répertoire personnel différent de "nom d'utilisateur". Par exemple, je peux avoir un utilisateur nommé "john" dont le répertoire personnel est: /home/jack
.
Si vous connaissez déjà le nom d'utilisateur, vous pouvez exécuter:
echo ~username
Cela imprimerait le répertoire personnel de cet utilisateur. Vous pouvez aussi lancer:
ls -ld /home/u942
ou
stat -c %U /home/u942
pour voir quel utilisateur est propriétaire de ce répertoire personnel, puis supprimez-le.
De plus, il est possible que l'utilisateur soit déjà supprimé, mais pas son répertoire de base.
Pour le savoir, vous pouvez faire quelque chose comme:
id -un `stat -c %U /home/u942`
S'il ne renvoie rien, cela signifie que le propriétaire n'existe pas sur votre système. supprimez simplement ce répertoire Si seulement vous croyez qu'il n'y a pas de fichier important ici.