Linux deluser and delgroup commands

Updated: 08/16/2021 by Computer Hope
deluser command

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.

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.