Réponses:
Vous devrez rechercher manuellement les fichiers, ce qui était probablement ce deluserqui ferait.
Veuillez noter que ce --remove-all-filesn'est pas la même chose que rm -r /home/user. Ce dernier supprime uniquement l'homedir (qui peut inclure des fichiers n'appartenant pas à cet utilisateur, bien que ce ne soit pas habituel), le premier supprime tous les fichiers appartenant à cet utilisateur du système. Au moins si la page de manuel doit être approuvée .
GNU finda un -usertest, vous pouvez donc faire find / -user xxxpour trouver tous les fichiers appartenant à l'utilisateur xxx. xxxserait le nom d'utilisateur, et peut (et dans ce cas devra , comme l'utilisateur n'existe plus) être l'ID numérique de l'utilisateur. finda également une -deleteoption, donc
find / -user xxx -delete
Devrait le faire, même si je n'ai pas testé la commande avec toutes les options en même temps.
EDIT: ID numérique: La raison pour laquelle j'ai dit que vous devez utiliser un ID numérique est parce que, comme vous avez déjà supprimé l'utilisateur, son entrée a /etc/passwdété supprimée (il y avait, avec d'autres éléments, l'ID utilisateur, ainsi que son nom d'utilisateur) .
Donc, si vous n'avez pas supprimé son homedir, l'un des moyens les plus simples consiste à simplement demander l'ID du propriétaire de ce homedir:
stat -c %u /home/user/
( statest un outil pour lire les données du système de fichiers. -c %uindique statcomment écrire sa sortie, ici je lui demande simplement de sortir l'ID utilisateur)
Si vous aimez les monolignes, vous pouvez même enchaîner les deux commandes:
find / -user $(stat -c %u /home/user/) -delete
(Bien sûr, vous préférerez peut-être l'exécuter en premier sans -deletepour vous assurer qu'il n'y a rien que vous souhaitez conserver et pour détecter toute erreur que vous avez commise lors de l'écriture du reste de la commande. Les erreurs lors de la suppression des opérations récursives /ne sont pas pour les faibles de coeur.)
rmaide xargs(mais cela atteindra probablement les limites d'argument s'il y a trop de résultats), mais regardez -depth, en citant le manuel d'informations: "Si votre commande` find 'supprime les répertoires, vous pouvez constater que vous obtenez un message d'erreur parasite lorsque `find 'essaie de récupérer dans un répertoire qui a été supprimé. L'utilisation de l'option` -depth' résoudra normalement ce problème. " (et plus tard dans la même section, "(" -delete "implique" -depth "de toute façon)")
find: 'user' is not the name of a known use
/etc/passwdqui répertorie l'utilisateur et son ID. Vous devrez trouver l'identifiant numérique. Faites stat -c %u /home/user/, il devrait vous donner l'ID utilisateur numérique, utilisez-le comme xxxci-dessus.
Une autre option serait de rajouter l'utilisateur avec adduser, en spécifiant l'ancien UID, puis de relancer deluser, cette fois avec l' --remove-all-filesindicateur.
Supposons, par exemple, que l'utilisateur ait un nom d'utilisateur aliceet un UID 1001:
sudo adduser --uid 1001 alice
sudo deluser --remove-all-files alice
gnu find a les options -nouser et -nogroup, recherchez-le dans man find. Avec ces options, vous pouvez trouver tous les fichiers de votre ou vos systèmes de fichiers qui n'ont pas d'utilisateur correspondant dans / etc / passwd. Si vous n'avez pas créé un nouvel utilisateur avec les anciens uids de vos utilisateurs supprimés, c'est une possibilité de trouver ces fichiers orphelins.
Cependant, vous pourriez trouver plus de fichiers - pas seulement ceux qui appartenaient à votre fichier supprimé.
-execoption de recherche pour exécuter une commande rm personnalisée si vous voulez un peu plus de contrôle sur vos suppressions, mais je n'ai jamais essayé cela, donc YMMV.