Arch manual pages

userdel(8) Команды управления системой userdel(8)

userdel - удаляет учётную запись и файлы пользователя

userdel [параметры] УЧЁТНАЯ_ЗАПИСЬ

Команда userdel изменяет системные файлы учётных записей, удаляя все записи, относящиеся к указанному имени_пользователя. Заданная учётная запись должна существовать.

Параметры команды userdel:

-f, --force

С этим параметром учётная запись будет удалена, даже если пользователь в этот момент работает в системе. Он также заставляет userdel удалить домашний каталог пользователя и почтовый ящик, даже если другой пользователь использует тот же домашний каталог или если почтовый ящик не принадлежит данному пользователю. Если значение USERGROUPS_ENAB равно yes в файле /etc/login.defs и если существует группа с именем удаляемого пользователя, то это группа будет удалена, даже если она всё ещё является первичной группой другого пользователя.

Замечание: Этот параметр опасно использовать; он может привести систему в нерабочее состояние.

-h, --help

Показать краткую справку и закончить работу.

-r, --remove

Файлы в домашнем каталоге пользователя будут удалены вместе с самим домашним каталогом и почтовым ящиком. Пользовательские файлы, расположенные в других файловых системах, нужно искать и удалять вручную.

Имя файла почтового ящика задаётся переменной MAIL_DIR в файле login.defs.

-R, --root КАТ_CHROOT

Выполнить изменения в каталоге КАТ_CHROOT и использовать файлы настройки из каталога КАТ_CHROOT.

-P, --prefix PREFIX_DIR

Apply changes in the PREFIX_DIR directory and use the configuration files from the PREFIX_DIR directory. This option does not chroot and is intended for preparing a cross-compilation target. Some limitations: NIS and LDAP users/groups are not verified. PAM authentication is using the host files. No SELINUX support.

-Z, --selinux-user

Удаляет все пользовательские сопоставления SELinux для учётной записи пользователя.

На работу этого инструмента влияют следующие переменные настройки из /etc/login.defs:

MAIL_DIR (строка)

Почтовый каталог. Данный параметр нужен для управления почтовым ящиком при изменении или удалении учётной записи пользователя. Если параметр не задан, то используется значение указанное при сборке.

MAIL_FILE (строка)

Определяет расположение почтовых файлов пользователя относительно домашнего каталога.

Переменные MAIL_DIR и MAIL_FILE используются командами useradd, usermod и userdel для создания, перемещения или удаления почты пользователя.

MAX_MEMBERS_PER_GROUP (число)

Максимальное количество членов в записи о группе. При достижения максимума заводится новая запись группы (строка) в /etc/group (с тем же именем, паролем и тем же GID).

Значение по умолчанию равно 0, означающее, что ограничения на количество членов в группе нет.

Данная возможность (разделение группы) позволяет ограничить длину строк в файле групп. Это полезно для ограничения длины строк групп NIS в 1024 символа.

Если вам нужно такое ограничение, укажите значение 25.

Замечание: разделение групп поддерживается не всеми инструментами (даже в наборе инструментов Shadow). Вы не должны использовать эту переменную, если вам действительно это ненужно.

USERDEL_CMD (строка)

Определяет программу, которая будет запущена при удалении пользователя. Она должна удалять любые задания at/cron/печати удаляемого пользователя (передаётся в качестве первого аргумента).

Возвращаемый сценарием код завершения не учитывается.

Вот простой сценарий, который удаляет задания печати, cron и at:

#! /bin/sh
# проверить все необходимые параметры
if [ $# != 1 ]; then
	echo "Использование: $0 имя_пользователя"
	exit 1
fi
# удалить задания cron
crontab -r -u $1
# удалить задания at
# Заметим, что это удалит все задания с указанным UID,
# даже если он используется для другой учётной записи.
AT_SPOOL_DIR=/var/spool/cron/atjobs
find $AT_SPOOL_DIR -name "[^.]*" -type f -user $1 -delete \;
# удалить задания печати
lprm $1
# всё
exit 0
      

USERGROUPS_ENAB (логический)

Если значение равно yes, то userdel удаляет пользовательскую группу, если в ней нет больше членов, а useradd по умолчанию создаёт группу с именем пользователя.

/etc/group
содержит информацию о группах

/etc/login.defs

содержит конфигурацию подсистемы теневых паролей

/etc/passwd

содержит информацию о пользователях

/etc/shadow

содержит защищаемую информацию о пользователях

/etc/subgid

Per user subordinate group IDs.

/etc/subuid

Per user subordinate user IDs.

Команда userdel завершая работу, возвращает следующие значения:

0

успешное выполнение

1

не удалось изменить файл паролей

2

ошибка в параметрах команды

6

указанный пользователь не существует

8

пользователь сейчас работает в системе

10

не удалось изменить файл групп

12

не удалось удалить домашний каталог

Команда userdel не позволит удалить учётную запись, если есть запущенные процессы, принадлежащие данной учётной записи. В этом случае вы можете удалить эти процессы или заблокировать пароль пользователя или учётную запись, а затем удалить учётную запись. Если указан параметр -f, то учётная запись будет удалена несмотря ни на что.

Вы должны вручную проверить все файловые системы, чтобы убедиться, что не осталось файлов, принадлежащих этому пользователю.

Нельзя удалить NIS атрибуты клиента NIS. Это необходимо сделать на NIS сервере.

Если значение переменной USERGROUPS_ENAB равно yes в файле /etc/login.defs, то userdel удалит группу с именем как у пользователя. Чтобы избежать рассогласованности в базах данных групп и паролей, userdel проверит, что данная группа не используется в качестве первичной для другого пользователя, и выдаст предупреждение без удаления, если такое случится. Параметр -f поможет удалить группу в любом случае.

chfn(1), chsh(1), passwd(1), login.defs(5), gpasswd(8), groupadd(8), groupdel(8), groupmod(8), subgid(5), subuid(5), useradd(8), usermod(8).
11/13/2019 shadow-utils 4.7