In this tutorial, I am going to take your through steps you can use to delete a user’s account together with his/her home directory on a Linux system.
To learn how to create user accounts and manage them on Linux systems
- 15 “useradd” Command Examples to Manage User Accounts in Linux
- 15 “usermod” Command Examples to Change/Modify User Account Names in Linux
- How to Manage Users & Groups with File Permissions in Linux
As a System Administrator in Linux, you may have to remove users account at after sometime when a user account may become dormant for so long, or user may leave the organization or company or any other reasons.
When removing user accounts on a Linux system, it is also important to remove their home directory to free up space on the storage devices for new system users or other services.
Deleting/Removing a User Account with His/Her Home Directory
1. For demonstration purpose, first I will start by creating two user accounts on my system that is user tecmintand user linuxsay with their home directories /home/tecmint and /home/linusay respectively using addusercommand.
From the screenshot above, I have used the adduser command to create user accounts on Linux. You can also use useradd command, both are same and does the same job.
2. Let’s now move further to see how to delete or remove user accounts in Linux using deluser (For Debian and it’s derivatives) and userdel (For RedHat/CentOS based systems) command.
The directives inside the configuration file for deluser and userdel commands determine how this it will handle all user files and directory when you run the command.
Let us look at the configuration file for the deluser command which is
/etc/deluser.conf
on Debian derivatives such as Ubuntu, Kali, Mint and for RHEL/CentOS/Fedora users, you can view the/etc/login.defs
files.
The values in the these configuration are default and can be changed as per your needs.
3. To delete a user with home directory, you can use the advanced way by following these steps on your Linux server machine. When users are logged on to the server, they use services and run different processes. It is important to note that user can only be deleted effectively when they are not logged on to the server.
Lock User Accounts in Linux
Start by locking the user account password so that there is no access for the user to the system. This will prevent a user from running processes on the system.
The passwd command including the –lock option can help you achieve this:
Find and Kill All Running Processes of User
Next find out all running processes of user account and kill them by determine the PIDs (Process IDs) of processes owned by the user using:
Then you can list the processes interms of username, PIDs, PPIDs (Parent Process IDs), terminal used, process state, command path in a full formatting style with the help of following command as shown:
Once you find all the running processes of user
The -9 is the signal number for the SIGKILL signal or use -KILL instead of -9 and -u defines username.
Note: In recent releases of RedHat/CentOS 7.x versions and Fedora 21+, you will get error message as:
To fix such error, you need to install psmisc package as shown:
Backup User Data Before Deleting
Next you can backup users files, this can be optional but it is recommended for future use when need arises to review user account details and files.
I have used the tar utilities to create a backup of users home directory as follows:
Delete/Remove User Account and Files
Now you can safely remove user together with his/her home directory, to remove all user files on the system use the
--remove-all-files
option in the command below:
No comments :
Post a Comment