- Как удалить пользователя в Linux
- Что нам понадобится?
- Удаление пользователя Linux в терминале
- Описание deluser
- Описание userdel
- Блокировка учетной записи пользователя
- Уничтожить все запущенные процессы пользователя
- Резервное копирование данных пользователя
- Удаление учетной записи пользователя
- Удаление пользователя в Ubuntu
- Выводы
- Похожие записи
- Оцените статью
- Об авторе
- 10 комментариев к “Как удалить пользователя в Linux”
- How To Delete / Remove Users in Linux Using the userdel Command
- Prerequisites
- userdel command
- How To Delete / Remove User in Linux
- How To Delete / Remove User with Home Directory in Linux
- Additional Activities Before Deleting User
- Conclusion
Как удалить пользователя в Linux
В этой инструкции мы рассмотрим как удалить пользователя Linux вместе с его данными и домашним каталогом. Если вы системный администратор в крупной компании то, скорее всего, удаление пользователей Linux для вас довольно частая задача. После того как аккаунт становится ненужным или пользователь ушел из организации, его аккаунт нужно удалить, чтобы не оставлять дыр в безопасности.
При удалении пользователей Linux также важно удалить их домашний каталог, чтобы освободить место на устройстве хранения для новых пользователей и их файлов. Сначала мы рассмотрим как удалить пользователя Linux с помощью терминала, потом поговорим о том, как это делается в графическом интерфейсе одного из самых популярных дистрибутивов — Ubuntu.
Что нам понадобится?
Перед тем как переходить к действиям в реальной среде нужно немного попрактиковаться, давайте создадим два пользователя losst и losst1, вместе с домашними каталогами, а затем уже будем их удалять:
adduser losst
passwd losst
adduser losst1
passwd losst1
Здесь команда adduser используется для создания учетной записи пользователя, а passwd для создания пароля.
Удаление пользователя Linux в терминале
Давайте рассмотрим, как удалить пользователя Linux в терминале. Для этого используется команда — deluser в Debian и производных системах, а в RHEL — userdel. Рассмотрим подробнее эти две утилиты.
Описание deluser
Синтаксис команды deluser очень простой:
$ deluser параметры пользователь
Настройки команды deluser находятся в файле /etc/deluser.conf, среди прочих настроек там указанно что нужно делать с домашней папкой и файлами пользователя. Вы можете посмотреть и изменить эти настройки выполнив команду:
Рассмотрим подробнее эти настройки:
- REMOVE_HOME — удалять домашний каталог пользователя
- REMOVE_ALL_FILES — удалить все файлы пользователя
- BACKUP — выполнять резервное копирование файлов пользователя
- BACKUP_TO — папка для резервного копирования
- ONLY_IF_EMPTY — удалить группу пользователя если она пуста.
Эти настройки определяют поведение утилиты по умолчанию, когда выполняется удаление пользователя, конечно, их можно переопределить используя параметры для команды.
Поддерживаются такие параметры, они аналогичны настройкам, но тут больше вариантов:
- —system — удалять только если это системный пользователь
- —backup — делать резервную копию файлов пользователя
- —backup-to — папка для резервных копий
- —remove-home — удалять домашнюю папку
- —remove-all-files — удалять все файлы пользователя в файловой системе
Описание userdel
Утилита userdel работает немного по-другому, файла настроек здесь нет, но есть опции, с помощью которых можно сообщить утилите что нужно сделать. Синтаксис аналогичный:
$ userdel параметры пользователь
- -f, —force — принудительное удаление, даже если пользователь еще залогинен.
- -r, —remove — удалить домашнюю директорию пользователя и его файлы в системе.
- -Z — удалить все SELinux объекты для этого пользователя.
Для удаления пользователя с сервера лучше использовать расширенный способ, который мы рассмотрим ниже. Когда пользователи используют сервер, они запускают различные программы и сервисы. Пользователь может быть правильно удален, только если он не залогинен на сервере и все программы, запущенные от его имени остановлены, ведь программы могут использовать различные файлы, принадлежащие пользователю, а это помешает их удалить. Соответственно тогда файлы пользователя будут удаленны не полностью и останутся засорять систему.
Блокировка учетной записи пользователя
Для блокировки учетной записи пользователя можно использовать утилиту passwd. Это запретит пользователю доступ к системе и предотвратит запуск новых процессов. Выполните команду passwd с параметром —lock:
Уничтожить все запущенные процессы пользователя
Теперь давайте найдем все запущенные от имени пользователя процессы и завершим их. Найдем процессы с помощью pgrep:
Посмотреть подробнее, что это за процессы можно передав pid, каждого из них в команду ps, вот так:
Теперь, когда вы убедились, что там нет ничего важного, можно уничтожить все процессы с помощью команды killall:
Опция -9 говорит программе, что нужно отправить этим процессам сигнал завершения SIGKILL, а -u задает имя пользователя.
В основанных на Red Hat системах, для использования killall необходимо будет установить пакет psmisc:
Резервное копирование данных пользователя
Это вовсе не обязательно, но для серьезного проекта не будет лишним создать резервную копию файлов пользователя, особенно если там могли быть важные файлы. Для этого можно использовать, например, утилиту tar:
tar jcvf /user-backups/losst-backup.tar.bz2 /home/losst
Удаление учетной записи пользователя
Теперь, когда все подготовлено, начинаем удаление пользователя linux. На всякий случай укажем явно, что нужно удалять файлы пользователя и домашнюю директорию. Для Debian:
Если нужно удалить все файлы, принадлежащие пользователю в системе используйте опцию —remove-all-files, только будьте с ней осторожны, так и важные файлы можно затереть:
deluser —remove-all-files losst
Теперь пользователь полностью удален, вместе со своими файлами и домашней директорией из вашей системы.
Удаление пользователя в Ubuntu
Как я и говорил, дальше рассмотрим как удалить пользователя в Ubuntu с помощью графического интерфейса. Это намного проще того, что было описано выше, но менее эффективнее.
Откройте Параметры системы:
Откройте пункт Пользователи:
Как видите, сейчас все действия недоступны, и нарисованы серым цветом. Чтобы их активировать нажмите кнопку Разблокировать и введите пароль пользователя.
Теперь для того чтобы удалить пользователя в linux достаточно кликнуть по нему мышкой, а затем нажать внизу страницы нажать кнопку Удалить пользователя:
В открывшимся окне можно выбрать, что нужно сделать с файлами пользователя:
Естественно, будет удаленна только домашняя папка, обо всех файлах речь не идет. И для корректного удаления пользователь должен быть не залогинен в системе.
Выводы
Удалить пользователя в Linux не так уж сложно, независимо от того где это нужно сделать, на сервере или домашнем компьютере. Конечно, графический интерфейс более удобен, но в терминал, как всегда, предлагает больше возможностей. Если у вас есть еще какие-нибудь идеи по этому поводу, напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Похожие записи
Оцените статью
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
10 комментариев к “Как удалить пользователя в Linux”
Здравствуйте! Вопрос не совсем по теме, но при вводе команды w, мне сообщают что в системе два пользователя. Ниже говориться кто они, вижу только себя, имя второго не сообщается, как узнать кто второй?
ЗЫ Только я имею доступ к этому серверу, захожу по ssh (putty), который слушает только локальную сеть. Ответить
Привет! У меня армбиан, если я удалю того пользователя который логинется в графической оболочке автоматически, что произойдёт ? Как мне сменить пользователя который входит автоматом? ( я не знаю от него пароль но знаю пароль рута) Ответить
Всё правильно. Линукс не для всех. Линукс для тех, кто хочет получать большего от операционной системы. Линукс для тех, кому мало одной кнопки «Сделай мне красиво». Линукс для тех, кому интересно знать как оно всё устроено и работает. Линукс хорош тем, что пользователь САМ определяет политику работы операционной системы. Пользователь сам перед собой несёт ответственность за работоспособность системы. Довольны все. Виндовс для тех, у кого нет ни желания, ни необходимости лезть в тонкие настройки операционной системы. Виндовс для тех, кто далёк от компьютерной техники, но вынужден её использовать. Виндовс — это сильно прикрытый от пользователя ящик. Ящик, который настраивается и поддерживается в рабочем состоянии известной Корпорацией. А чтобы пользователь не лез куда не надо, чтобы не было конфликтных ситуаций между настройками пользователя и настройками Корпорации, эта Корпорация пользователя всячески и серьёзно ограничивают. Только таким образом, коммерческая Корпорация, основная цель которой извлечение максимальной прибыли, может гарантировать пользователю работоспособность своей операционной системы на его компе. При такой политике у пользователя не будет ни каких юридических прав востребовать компенсацию убытков, понесённых из-за неработоспособности операционной системы, с Корпорации. Собственно, пользователь Виндовс за то и платит деньги, чтобы самому не разбираться в работе операционной системы. Довольны все — и пользователь (получил удовольствие от того, что не вникает с в суть проблем), и Корпорация (получила деньги). Руслан, а Вы не ошиблись с выбором операционной системы? Ответить
1. если я удалю того пользователя который логинется в графической оболочке автоматически, что произойдёт ? Если Вы удалите учётную запись, пользователь никак не сможет попасть в систему — хоть через консоль, хоть графическую консоль. Для операционной системы не имеет значения как пользователь заходит (регистрируется) в систему. Для неё важно чтобы имелась учётная запись и был правильно набран пароль. 2. Как мне сменить пользователя который входит автоматом? Я, не знаком с дистрибутивом armbian, поэтому точного ответа дать не могу. Когда-то давно я пользовался Ubuntu, там тоже была такая возможность как вход в систему автоматически (без указания пароля) для одного пользователя, которого можно было выбрать из списка. Эта настройка была где-то в главном меню Система\Параметры\Вход в систему. Как-то так она называлась. Точно не помню. Думаю, Вам следует посмотреть тут. Там не с ложно. Просто нужно указать в списке другого пользователя. Ответить
How To Delete / Remove Users in Linux Using the userdel Command
As a Linux system administrator, one of the primary responsibility is to manage the users and groups on Linux systems. User management includes creating users, modifying existing users and deleting users.
Deleting / Removing a user account is the most important task for an administrator when any user leaves from an organization.
This post explains to you how to delete users in Linux using the userdel command.
Prerequisites
To be able to delete/remove a user account, you need to be logged in as a root user or a user with sudo privileges.
userdel command
In Linux, you can delete a user account with userdel command. The userdel command is a low-level utility which is used for removing user accounts in Linux and other Unix like operating systems.
In Debian / Ubuntu, you can use deluser utility for deleting a user. Example: deluser user_name / deluser —remove-home user_name .
userdel [options] user_name
How To Delete / Remove User in Linux
To delete a user called user_name from Linux system, use:
Consider checking additional activities you may need to perform before you delete a user account in Linux.
When you run a userdel command without any options specified in the command line, the userdel command reads /etc/login.defs (RHEL / CentOS) or /etc/deluser.conf (Debian / Ubuntu) for default values, for example, the user’s home directory and mail spool will remain in system if REMOVE_HOME = 0 is set in /etc/deluser.conf .
How To Delete / Remove User with Home Directory in Linux
In most of the distributions, the userdel command will not delete the user’s home directory and mail spool.
User the -r option with userdel to remove the user’s along with the home directory and mail spool.
The above command will not delete the user files present in the home directory. You will have to delete the files manually that are in other file systems.
Additional Activities Before Deleting User
Running the userdel command looks like super easy, but the system won’t let you delete the user account if the user is logged in or any process running on his/her name.
PID TTY TIME CMD 14532 ? 00:00:00 sshd 14536 pts/2 00:00:00 bash 14622 pts/2 00:00:00 vim
Kill the user’s running process with the killall command. This command will also kick the user out of the system.
Lock the user so that the user will not be able to log in again.
You can consider taking the backup of the user’s home directory for future needs.
tar -zcvf /backup/user_name-`date +%Y_%M_%d.tar.gz` /home/user_name/
Conclusion
You have learned how to delete user accounts in Linux using the userdel command. Do double check the user name before you delete users from Linux system.