Команда deluser предназначена для работы с одноименным сценарием на языке Perl, упрощающим удаление учетных записей пользователей и групп пользователей в дистрибутиве Debian, а также основанных на нем дистрибутивах (Ubuntu, Linux Mint, …). Упомянутый сценарий также реализует функционал команды delgroup, также доступной в дистрибутивах на основе Debian. Разумеется, упомянутые команды лишь упрощают работу с учетными записями пользователей и при необходимости могут быть заменены на команды userdel и groupdel. По умолчанию сценарий старается сохранять все доступные данные, не удаляя файлы, связанные с удаляемыми учетными записями пользователей.
Стандартный синтаксис команды выглядит следующим образом:
# deluser [параметры] имя-пользователя
Сценарий поддерживает не так много параметров. Наиболее важными параметрами являются параметр --force, позволяющий удалить учетную запись пользователя даже в том случае, если он работает с системой, параметр --remove-home, позволяющий не сохранять файлы, связанные с удаляемой учетной записью пользователя, а также параметр --backup-to для копирования связанных с удаляемой учетной записью пользователя файлов в указанную директорию. Кроме того, существует параметр --system, который позволяет удалять системные учетные записи, то есть те учетные записи, которые используются для запуска различных системных служб; этот параметр должен использоваться исключительно опытными пользователями, так как с помощью него достаточно просто вывести систему из работоспособного состояния.
Для начала создадим учетную запись пользователя с помощью сценария adduser:
$ sudo adduser testuser1
[sudo] пароль для alex:
Добавляется пользователь «testuser1» ...
Добавляется новая группа «testuser1» (1001) ...
Добавляется новый пользователь «testuser1» (1001) в группу «testuser1» ...
Создаётся домашний каталог «/home/testuser1» ...
Копирование файлов из «/etc/skel» ...
Новый пароль:
Повторите ввод нового пароля:
passwd: пароль успешно обновлён
Изменение информации о пользователе testuser1
Введите новое значение или нажмите ENTER для выбора значения по умолчанию
Полное имя []: Test User
Номер комнаты []: 1
Рабочий телефон []: 112
Домашний телефон []: 113
Другое []: Nothing to comment
Данная информация корректна? [Y/n] y
Учетная запись пользователя успешно создана:
$ sudo cat /etc/passwd | grep testuser1
testuser1:x:1001:1001:Test User,1,112,113,Nothing to comment:/home/testuser1:/bin/bash
Домашняя директория также на месте:
$ ls -al /home | grep testuser1
drwxr-x--- 2 testuser1 testuser1 57 июн 27 14:37 testuser1
Обратите внимание на то, что наряду с учетной записью пользователя была создана одноименная группа пользователей:
$ sudo cat /etc/group | grep testuser1
testuser1:x:1001:
Для того, чтобы удалить учетную запись пользователя, сохранив его домашнюю директорию со всеми файлами, достаточно использовать сценарий deluser без каких-либо параметров:
$ sudo deluser testuser1
Удаляется пользователь «testuser1» ...
Предупреждение: в группе `testuser1' больше никого нет.
Готово.
Учетная запись пользователя удалена:
$ sudo cat /etc/passwd | grep testuser1
Домашняя директория пользователя сохранена:
$ ls -al /home | grep testuser1
drwxr-x--- 2 1001 1001 57 июн 27 14:37 testuser1
При этом созданная группа пользователей автоматически удаляется:
$ sudo cat /etc/group | grep testuser1
При необходимости домашняя директория пользователя может быть удалена в ручном режиме:
$ sudo rm -rf /home/testuser1
$ ls -al /home | grep testuser1
На этом процесс удаления учетной записи пользователя можно считать оконченным.
Создадим другую учетную запись пользователя с помощью сценария adduser:
$ sudo adduser testuser2
Добавляется пользователь «testuser2» ...
Добавляется новая группа «testuser2» (1001) ...
Добавляется новый пользователь «testuser2» (1001) в группу «testuser2» ...
Создаётся домашний каталог «/home/testuser2» ...
Копирование файлов из «/etc/skel» ...
Новый пароль:
Повторите ввод нового пароля:
passwd: пароль успешно обновлён
Изменение информации о пользователе testuser2
Введите новое значение или нажмите ENTER для выбора значения по умолчанию
Полное имя []: Test User 2
Номер комнаты []: 2
Рабочий телефон []: 122
Домашний телефон []: 123
Другое []: Nothing to comment too...
Данная информация корректна? [Y/n] y
Учетная запись пользователя, домашняя директория и одноименная группа пользователей также успешно созданы:
$ sudo cat /etc/passwd | grep testuser2
testuser2:x:1001:1001:Test User 2,2,122,123,Nothing to comment too...:/home/testuser2:/bin/bash
$ ls -al /home | grep testuser2
drwxr-x--- 2 testuser2 testuser2 57 июн 27 14:53 testuser2
$ sudo cat /etc/group | grep testuser2
testuser2:x:1001:
Для полного удаления учетной записи пользователя следует воспользоваться параметрами --force и --remove-home:
$ sudo deluser --force --remove-home testuser2
Идёт поиск файлов для сохранения/удаления ...
Удаляются файлы ...
Удаляется пользователь «testuser2» ...
Предупреждение: в группе `testuser2' больше никого нет.
Готово.
В результате удалены учетная запись пользователя, его домашняя директория и одноименная группа пользователей:
$ sudo cat /etc/passwd | grep testuser2
$ ls -al /home | grep testuser2
$ sudo cat /etc/group | grep testuser2
Этот вариант действий позволяет быстрее удалить ненужную учетную запись пользователя из системы.