Как удалить пользователя в Linux

Операционная система Linux является многопользовательской системой. Это значит, что несколько человек могут взаимодействовать с ОС. Права доступа у различных пользователей одного персонального компьютера могут быть разными. Задача системного администратора состоит в том, чтобы следить за аккаунтами пользователей, включать и исключать их из определенных групп. Но помимо этих задач может возникнуть необходимость стереть запись бывшего сотрудника с компьютера вообще.

В ОС Linux стереть юзера утилитой – userdel. Пользователи некоторых дистрибутивов могут применять более понятную команду - deluser.

Синтаксис

Для удаления пользователей в операционных системах Линукс, используются две похожие команды userdel в Centos и deluser в Debian.

userdel

Рассмотрим синтаксис.

userdel [опции] имя пользователя

userdel --help

Опции:

  • -f или --force - принудительное удаление.
  • -h или --help - справочная информация.
  • -r или --remove - стереть домашний каталог юзера.
  • -Z или --selinux-user стереть SELinux объекты юзера.

deluser

Параметры утилиты лежат в файле /etc/deluser.conf

Основные параметры:

  • REMOVE_HOME - очистить домашний каталог.
  • REMOVE_ALL_FILES - очистить все файлы.
  • BACKUP - бэкап файлов.
  • BACKUP_TO - папка для бэкапа.
  • ONLY_IF_EMPTY - очистить группу юзера при условии, что папка пустая.

Примеры

Для примера, удалим пользователя polzovatel

userdel polzovatel

При выполнении, утилита обратится к login.defs, который находится по адресу /etc/login.defs. Значения, записанные в данном файле, определяют начальные опции программы userdel. Если переменная USERGROUPS_ENAB имеет значение «yes», то будет удалена группа, с пользовательским именем, которое системный администратор вбил в команду. Но при условии, что больше в этой группе нет других пользователей.

Информация о пользователе будет также удалена из файлов:

  1. /etc/passwd;
  2. /etc/shadow;

Следует учитывать то, что в большинстве дистрибутивов Linux команда userdel не стирает домашний каталог и почтовый спул пользователя.

Для того, чтобы это исправить необходимо передать параметр –r. Выглядеть такая операция будет так:

userdel –r polzovatel

Но даже в таком виде утилита не удалит файлы из других файловых систем. Сделать это придётся вручную.

Если человек, запись которого необходимо удалить, зашёл в ОС, то уничтожить его аккаунт привычным способом не получится. Здесь существует два возможных пути решения:

  1. Выйти из ОС и принудительно закрыть все активные юзерские программы. Для этого понадобится утилита killall – sudo killall –u polzovatel. По выполнению этой команды, можно удалять учетку пользователя.
  2. Передать параметр –f утилите userdel. Эта опция позволяет в принудительном режиме избавиться от аккаунта, даже если человек залогинился или имеются активные пользовательские программы.

userdel –f polzovatel

Вывод

Как видите, стереть учетку юзера в Linux очень просто. Для этого достаточно знать, как вводятся простейшие команды в терминал, и как им передавать различные параметры. Даже начинающий сисадмин с лёгкостью справится с этим.