How to delete a user & its home folder safely?

to list all users :

cut -d: -f1 /etc/passwd

To remove user :

sudo userdel username

To remove home directory :

sudo rm -r /home/username

To add a home directory to an existing user :

create a home directory

chown this directory for the user

sudo usermod -d /home/directory user

You can use the more advanced deluser command:

sudo deluser --remove-home user

You can also try the the --remove-all-files option. From man deluser:

By  default,  deluser  will  remove  the user without removing the home
directory, the mail spool  or any other files on the  system  owned  by
the  user.  Removing  the home directory and mail spool can be achieved
using the --remove-home option.

The --remove-all-files option removes all files on the system owned  by
the  user.  Note  that  if you activate both options --remove-home will
have no effect because all files including the home directory and  mail
spool are already covered by the --remove-all-files option.

As can be expected, the second option may take a while to complete.


Best way is to use the OPTIONS provided by the userdel command.

sudo userdel -rfRZ <username>

This will:

  1. Force delete

  2. Files in the user's home directory will be removed along with the home directory itself and the user's mail spool. Files located in other file systems will have to be searched for and deleted manually.

  3. Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory.

  4. Remove any SELinux user mapping for the user's login.

Hope this helps!