Linux deluser and delgroup commands
On Linux operating systems, the deluser and delgroup commands remove a user or group from the system.
Description
deluser and delgroup remove users and groups from the system according to command line options and configuration information in /etc/deluser.conf and /etc/adduser.conf. They are friendlier front ends to the userdel and groupdel programs, removing the home directory as option or even all files on the system owned by the user to be removed, running a custom script, and other features. deluser and delgroup can run in one of three modes:
To remove a normal user
If called with one non-option argument and without the --group option, deluser removes a normal user.
By default, deluser removes 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 has no effect because all files including the home directory and mail spool are already covered by the --remove-all-files option.
To backup all files before deleting them, you can activate the --backup option to create a file username.tar(.gz|.bz2) in the directory specified by the --backup-to option (defaulting to the current working directory). Both the remove and backup options can also be activated for default in the configuration file /etc/deluser.conf. See deluser.conf for details.
To remove the root account (uid 0), then use the --force parameter; this prevents removing the root user by accident.
If the file /usr/local/sbin/deluser.local exists, it will be executed after the user account is removed to do any local cleanup. The arguments passed to deluser.local are: "username uid gid home-directory".
To remove a group
If deluser is called with the --group option, or delgroup is called, a group will be removed.
Warning: The primary group of an existing user cannot be removed.
If the option --only-if-empty is given, the group won't be removed if it has any members left.
To remove a user from a specific group
If called with two non-option arguments, deluser removes a user from a specific group.
Syntax
deluser [--quiet] [--system] [--help] [--version] [--conf FILE] [--force] [--remove-home] [--remove-all-files] [--backup] [--backup-to DIR] user
deluser --group [--quiet] [--system] [--help] [--version] [--conf FILE] group
delgroup [options] [--quiet] [--system] [--help] [--version] [--conf FILE] group
deluser [options] user group
Options
--conf FILE | Use FILE instead of the default files /etc/deluser.conf and /etc/adduser.conf |
--group | Remove a group. This is the default action if the program is invoked as delgroup. |
--help | Display a help message, and exit. |
--quiet | Suppress progress messages. |
--system | Only delete if user/group is a system user/group. This avoids accidentally deleting non-system users/groups. Additionally, if the user does not exist, no error value is returned. |
--backup | Backup all files contained in the userhome and the mailspool file to a file named /$user.tar.bz2 or /$user.tar.gz. |
--backup-to | Place the backup files not in / but in the directory specified by this parameter. This implicitly sets --backup also. |
--remove-home | Remove the home directory of the user and its mailspool. If --backup is specified, the files are deleted after having performed the backup. |
--remove-all-files | Remove all files from the system owned by this user. Note: --remove-home does not have an effect any more. If --backup is specified, the files are deleted after having performed the backup. |
--version | Display version and Copyright information. |
Configuration
The file /etc/deluser.conf contains defaults for the programs deluser and delgroup. Each option takes the form "option = value". Double or single quotes are allowed around the value. Comment lines must have a hash sign ("#") at the beginning of the line.
deluser and delgroup also read /etc/adduser.conf, see adduser.conf; settings in deluser.conf may overwrite settings made in adduser.conf.
The valid configuration options are:
REMOVE_HOME | Removes the home directory and mail spool of the user to be removed. Value may be 0 (don't delete) or 1 (do delete). |
REMOVE_ALL_FILES | Removes all files on the system owned by the user to be removed. If this option is activated REMOVE_HOME has no effect. Values may be 0 or 1. |
BACKUP | If REMOVE_HOME or REMOVE_ALL_FILES is activated, all files are backed up before they are removed. The backup file that is created defaults to username.tar(.gz|.bz2) in the directory specified by the BACKUP_TO option. The compression method is chosen to the best that is available. Values may be 0 or 1. |
BACKUP_TO | If BACKUP is activated, BACKUP_TO specifies the directory to write the backup. Default is the current directory. |
NO_DEL_PATHS | A list of regular expressions, space-separated. All files to be deleted in course of deleting home directories or deleting files owned by the user to be deleted are checked against each of these regular expressions. If a match is detected, the file is not deleted. Defaults to a list of system directories, leaving only /home. In other words: By default, only files below /home belonging to that specific user are going to be deleted. |
ONLY_IF_EMPTY | Only delete a group if there are no user who belong to this group. Defaults to 0. |
EXCLUDE_FSTYPES | A regular expression that describes all file systems which should be excluded when looking for files of a user to be deleted. Defaults to "(proc|sysfs|usbfs|devpts|tmpfs|afs)". |
Return values
0 | The action was successfully executed. |
1 | The user to delete was not a system account. No action was performed. |
2 | There is no such user. No action was performed. |
3 | There is no such group. No action was performed. |
4 | Internal error. No action was performed. |
5 | The group to delete is not empty. No action was performed. |
6 | The user does not belong to the specified group. No action was performed. |
7 | You cannot remove a user from its primary group. No action was performed. |
8 | The required perl package 'perl modules' is not installed. This package is required to perform the requested actions. No action was performed. |
9 | For removing the root account the parameter "--force" is required. No action was performed. |
Files
/etc/deluser.conf | Configuration file. |
Examples
deluser myuser
Deletes the user account myuser.
deluser --remove-home myuser
Deletes the user account myuser, and removes that user's home directory as well.
deluser --force myuser
Deletes the user account myuser even if that user is currently logged in.
deluser --backup-to /directory myuser
Deletes the user account myuser and backs up their files in a tar archive called myuser.tar, which is created in the directory /directory.
delgroup mygroup
Deletes the group mygroup.
Related commands
adduser — Add a user to the system.
addgroup — Add a group to the system.
groupadd — Add a group to the system.
useradd — Add a user to the system.