userdel - удаление учетной записи пользователя и связанных файлов
СИНТАКСИС
userdel [параметры] ИМЯ_ПОЛЬЗОВАТЕЛЯ
ОПИСАНИЕ
userdel - это низкоуровневая утилита для удаления пользователей. В Debian администраторы обычно должны использовать [deluser]({filename}../../deluser)(8) вместо нее.
Команда userdel изменяет системные файлы учетных записей, удаляя все записи, которые относятся к имени пользователя ИМЯ_ПОЛЬЗОВАТЕЛЯ. Указанный пользователь должен существовать.
ПАРАМЕТРЫ
Параметры, применяемые к команде userdel:
-f, --force
Этот параметр принудительно удаляет учетную запись пользователя и любые другие запрошенные действия, пропуская любые проверки безопасности.
Внимание: этот параметр опасен и может привести к непоследовательному состоянию системы.
-h, --help
Отобразить сообщение справки и выйти.
-r, --remove
Файлы в домашнем каталоге пользователя будут удалены вместе с самим домашним каталогом и почтовым ящиком пользователя. Файлы, расположенные в других файловых системах, должны быть найдены и удалены вручную.
Почтовый ящик определяется переменной MAIL_DIR в файле login.defs.
-R, --root CHROOT_DIR
Применять изменения в каталоге CHROOT_DIR и использовать файлы конфигурации из каталога CHROOT_DIR. Поддерживаются только абсолютные пути.
-P, --prefix PREFIX_DIR
Применять изменения в каталоге PREFIX_DIR и использовать файлы конфигурации из каталога PREFIX_DIR. Этот параметр не выполняет chroot и предназначен для подготовки среды перекрестной компиляции. Некоторые ограничения: пользователи и группы NIS и LDAP не проверяются. PAM-аутентификация использует файлы хоста. Отсутствует поддержка SELINUX.
-Z, --selinux-user
Удалить любое сопоставление пользователя SELinux для имени пользователя.
КОНФИГУРАЦИЯ
Следующие переменные конфигурации в /etc/login.defs изменяют поведение этой утилиты:
MAIL_DIR (строка)
Каталог почтового ящика. Это необходимо для манипулирования почтовым ящиком при изменении или удалении соответствующей учетной записи пользователя. Если не указано, используется значение по умолчанию, определенное во время компиляции. Параметр CREATE_MAIL_SPOOL в /etc/default/useradd определяет, следует ли создавать почтовый ящик.
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/print, принадлежащие удаляемому пользователю (который передается в качестве первого аргумента).
Код возврата сценария не учитывается.
Вот пример сценария, который удаляет cron-задачи, at-задачи и задачи печати пользователя:
#! /bin/sh
# Проверка наличия необходимого аргумента.
if [ $# != 1 ]; then
echo "Usage: $0 username"
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
Конфигурация пакета shadow password.
/etc/passwd
Информация об учетных записях пользователей.
/etc/shadow
Безопасная информация об учетных записях пользователей.
/etc/shadow-maint/userdel-pre.d/*, /etc/shadow-maint/userdel-post.d/*
Файлы сценариев, которые выполняются во время удаления пользователя. Переменная окружения ACTION будет
содержать значение userdel, а SUBJECT — имя пользователя. userdel-pre.d будет выполняться до
удаления пользователя, а userdel-post.d — после. Если сценарий завершается с ненулевым кодом, выполнение прекращается.
/etc/subgid
Идентификаторы подчинённых групп для каждого пользователя.
/etc/subuid
Идентификаторы подчинённых пользователей для каждого пользователя.
ЗНАЧЕНИЯ КОДОВ ВЫХОДА
Команда userdel завершается со следующими значениями:
0 успех
1 невозможно обновить файл паролей
2 неверный синтаксис команды
6 указанный пользователь не существует
8 пользователь в данный момент выполняет вход в систему
10 невозможно обновить файл групп
12 невозможно удалить домашний каталог
ОГРАНИЧЕНИЯ
userdel не позволит удалить учетную запись, если есть запущенные процессы, принадлежащие этой учетной записи. В этом случае может потребоваться завершить эти процессы или заблокировать пароль или учетную запись пользователя и удалить учетную запись позже. Опция -f может принудительно удалить эту учетную запись.
Вам следует вручную проверить все файловые системы, чтобы убедиться, что не осталось файлов, принадлежащих этому пользователю.
Вы не можете удалять атрибуты NIS на клиенте NIS. Это должно выполняться на сервере NIS.
Если переменная USERGROUPS_ENAB определена как yes в /etc/login.defs, userdel удалит группу с тем же именем, что и у пользователя. Чтобы избежать несоответствий в базах данных passwd и group, 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).