Как удалить пользователя в linux
Перейти к содержимому

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

  • автор:

DESCRIPTION

The userdel command modifies the system account files, deleting all entries that refer to the user name LOGIN. The named user must exist.

OPTIONS

The options which apply to the userdel command are:

-f, —force

Note: This option is dangerous and may leave your system in an inconsistent state.

-h, —help

-r, —remove

The mail spool is defined by the MAIL_DIR variable in the login.defs file.

-R, —root CHROOT_DIR

-P, —prefix PREFIX_DIR

-Z, —selinux-user

CONFIGURATION

The following configuration variables in /etc/login.defs change the behavior of this tool:

MAIL_DIR (string)

MAIL_FILE (string)

The MAIL_DIR and MAIL_FILE variables are used by useradd, usermod, and userdel to create, move, or delete the user’s mail spool.

MAX_MEMBERS_PER_GROUP (number)

The default value is 0, meaning that there are no limits in the number of members in a group.

This feature (split group) permits to limit the length of lines in the group file. This is useful to make sure that lines for NIS groups are not larger than 1024 characters.

If you need to enforce such limit, you can use 25.

Note: split groups may not be supported by all tools (even in the Shadow toolsuite). You should not use this variable unless you really need it.

USERDEL_CMD (string)

The return code of the script is not taken into account.

Here is an example script, which removes the user’s cron, at and print jobs:

USERGROUPS_ENAB (boolean)

FILES

EXIT VALUES

The userdel command exits with the following values:

CAVEATS

userdel will not allow you to remove an account if there are running processes which belong to this account. In that case, you may have to kill those processes or lock the user’s password or account and remove the account later. The -f option can force the deletion of this account.

You should manually check all file systems to ensure that no files remain owned by this user.

You may not remove any NIS attributes on a NIS client. This must be performed on the NIS server.

If USERGROUPS_ENAB is defined to yes in /etc/login.defs, userdel will delete the group with the same name as the user. To avoid inconsistencies in the passwd and group databases, userdel will check that this group is not used as a primary group for another user, and will just warn without deleting the group otherwise. The -f option can force the deletion of this group.

SEE ALSO

01/25/2023 shadow-utils 4.13

Package name: core/shadow Version: 4.13-2 Upstream: https://github.com/shadow-maint/shadow Licenses: BSD Manuals: /listing/core/shadow/ Table of contents

Powered by archmanweb, using mandoc for the conversion of manual pages.

The website is available under the terms of the GPL-3.0 license, except for the contents of the manual pages, which have their own license specified in the corresponding Arch Linux package.

Как удалить пользователя в 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:

passwd —lock losst

Уничтожить все запущенные процессы пользователя

Теперь давайте найдем все запущенные от имени пользователя процессы и завершим их. Найдем процессы с помощью pgrep:

Посмотреть подробнее, что это за процессы можно передав pid, каждого из них в команду ps, вот так:

ps -f —pid $(pgrep -u losst)

Теперь, когда вы убедились, что там нет ничего важного, можно уничтожить все процессы с помощью команды killall:

Killall -9 -u losst

Опция -9 говорит программе, что нужно отправить этим процессам сигнал завершения SIGKILL, а -u задает имя пользователя.

В основанных на Red Hat системах, для использования killall необходимо будет установить пакет psmisc:

sudo yum install psmisc

Резервное копирование данных пользователя

Это вовсе не обязательно, но для серьезного проекта не будет лишним создать резервную копию файлов пользователя, особенно если там могли быть важные файлы. Для этого можно использовать, например, утилиту tar:

tar jcvf /user-backups/losst-backup.tar.bz2 /home/losst

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

Теперь, когда все подготовлено, начинаем удаление пользователя linux. На всякий случай укажем явно, что нужно удалять файлы пользователя и домашнюю директорию. Для Debian:

deluser —remove-home losst

userdel —remove losst

Если нужно удалить все файлы, принадлежащие пользователю в системе используйте опцию —remove-all-files, только будьте с ней осторожны, так и важные файлы можно затереть:

deluser —remove-all-files losst

Теперь пользователь полностью удален, вместе со своими файлами и домашней директорией из вашей системы.

Удаление пользователя в Ubuntu

Как я и говорил, дальше рассмотрим как удалить пользователя в Ubuntu с помощью графического интерфейса. Это намного проще того, что было описано выше, но менее эффективнее.

Откройте Параметры системы:

Откройте пункт Пользователи:

Как видите, сейчас все действия недоступны, и нарисованы серым цветом. Чтобы их активировать нажмите кнопку Разблокировать и введите пароль пользователя.

Теперь для того чтобы удалить пользователя в linux достаточно кликнуть по нему мышкой, а затем нажать внизу страницы нажать кнопку Удалить пользователя:

В открывшимся окне можно выбрать, что нужно сделать с файлами пользователя:

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

Выводы

Удалить пользователя в Linux не так уж сложно, независимо от того где это нужно сделать, на сервере или домашнем компьютере. Конечно, графический интерфейс более удобен, но в терминал, как всегда, предлагает больше возможностей. Если у вас есть еще какие-нибудь идеи по этому поводу, напишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Похожие записи

Оцените статью

alt=»Creative Commons License» width=»» />
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

10 комментариев к “Как удалить пользователя в Linux”

очень хороший сайт,и,что самое главное,полезный!

Здравствуйте! Вопрос не совсем по теме, но при вводе команды w, мне сообщают что в системе два пользователя. Ниже говориться кто они, вижу только себя, имя второго не сообщается, как узнать кто второй?
ЗЫ Только я имею доступ к этому серверу, захожу по ssh (putty), который слушает только локальную сеть.

Немного некропостинга. Второй пользователь — вероятнее всего root.

В ОС Windows всё сделать легко и просто, а вот с Linux я замучился -)

Привет! У меня армбиан, если я удалю того пользователя который логинется в графической оболочке автоматически, что произойдёт ? Как мне сменить пользователя который входит автоматом? ( я не знаю от него пароль но знаю пароль рута)

Всё правильно. Линукс не для всех.

Линукс для тех, кто хочет получать большего от операционной системы. Линукс для тех, кому мало одной кнопки «Сделай мне красиво». Линукс для тех, кому интересно знать как оно всё устроено и работает. Линукс хорош тем, что пользователь САМ определяет политику работы операционной системы. Пользователь сам перед собой несёт ответственность за работоспособность системы. Довольны все.

Виндовс для тех, у кого нет ни желания, ни необходимости лезть в тонкие настройки операционной системы. Виндовс для тех, кто далёк от компьютерной техники, но вынужден её использовать. Виндовс — это сильно прикрытый от пользователя ящик. Ящик, который настраивается и поддерживается в рабочем состоянии известной Корпорацией. А чтобы пользователь не лез куда не надо, чтобы не было конфликтных ситуаций между настройками пользователя и настройками Корпорации, эта Корпорация пользователя всячески и серьёзно ограничивают. Только таким образом, коммерческая Корпорация, основная цель которой извлечение максимальной прибыли, может гарантировать пользователю работоспособность своей операционной системы на его компе. При такой политике у пользователя не будет ни каких юридических прав востребовать компенсацию убытков, понесённых из-за неработоспособности операционной системы, с Корпорации. Собственно, пользователь Виндовс за то и платит деньги, чтобы самому не разбираться в работе операционной системы. Довольны все — и пользователь (получил удовольствие от того, что не вникает с в суть проблем), и Корпорация (получила деньги).

Руслан, а Вы не ошиблись с выбором операционной системы?

1. если я удалю того пользователя который логинется в графической оболочке автоматически, что произойдёт ?

Если Вы удалите учётную запись, пользователь никак не сможет попасть в систему — хоть через консоль, хоть графическую консоль. Для операционной системы не имеет значения как пользователь заходит (регистрируется) в систему. Для неё важно чтобы имелась учётная запись и был правильно набран пароль.

2. Как мне сменить пользователя который входит автоматом?

Я, не знаком с дистрибутивом armbian, поэтому точного ответа дать не могу. Когда-то давно я пользовался Ubuntu, там тоже была такая возможность как вход в систему автоматически (без указания пароля) для одного пользователя, которого можно было выбрать из списка. Эта настройка была где-то в главном меню Система\Параметры\Вход в систему. Как-то так она называлась. Точно не помню. Думаю, Вам следует посмотреть тут. Там не с ложно. Просто нужно указать в списке другого пользователя.

How to Add and Delete Users on Ubuntu 20.04

How to Add and Delete Users on Ubuntu 20.04

Adding and removing users on a Linux system is one of the most important system administration tasks to familiarize yourself with. When you create a new system, you are often only given access to the root account by default.

While running as the root user gives you complete control over a system and its users, it is also dangerous and possibly destructive. For common system administration tasks, it’s a better idea to add an unprivileged user and carry out those tasks without root privileges. You can also create additional unprivileged accounts for any other users you may have on your system. Each user on a system should have their own separate account.

For tasks that require administrator privileges, there is a tool installed on Ubuntu systems called sudo . Briefly, sudo allows you to run a command as another user, including users with administrative privileges. In this guide, you’ll learn how to create user accounts, assign sudo privileges, and delete users.

Prerequisites

To complete this tutorial, you will need access to a server running Ubuntu 20.04. Ensure that you have root access to the server and firewall enabled. To set this up, follow our Initial Server Setup Guide for Ubuntu 20.04.

Adding a User

If you are signed in as the root user, you can create a new user at any time by running the following:

If you are signed in as a non-root user who has been given sudo privileges, you can add a new user with the following command:

Either way, you will be required to respond to a series of questions:

  • Assign and confirm a password for the new user.
  • Enter any additional information about the new user. This is optional and can be skipped by pressing ENTER if you don’t wish to utilize these fields.
  • Finally, you’ll be asked to confirm that the information you provided was correct. Press Y to continue.

Your new user is now ready for use and can be logged into with the password that you entered.

If you need your new user to have administrative privileges, continue on to the next section.

Granting a User Sudo Privileges

If your new user should have the ability to execute commands with root (administrative) privileges, you will need to give the new user access to sudo . Let’s examine two approaches to this task: first, adding the user to a pre-defined sudo user group, and second, specifying privileges on a per-user basis in sudo ’s configuration.

Adding the New User to the Sudo Group

By default, sudo on Ubuntu 20.04 systems is configured to extend full privileges to any user in the sudo group.

You can view what groups your new user is in with the groups command:

By default, a new user is only in their own group because adduser creates this in addition to the user profile. A user and its own group share the same name. In order to add the user to a new group, you can use the usermod command:

The -aG option tells usermod to add the user to the listed groups.

Please note that the usermod command itself requires sudo privileges. This means that you can only add users to the sudo group if you’re signed in as the root user or as another user that has already been added as a member of the sudo group. In the latter case, you will have to precede this command with sudo , as in this example:

Specifying Explicit User Privileges in /etc/sudoers

As an alternative to putting your user in the sudo group, you can use the visudo command, which opens a configuration file called /etc/sudoers in the system’s default editor, and explicitly specify privileges on a per-user basis.

Using visudo is the only recommended way to make changes to /etc/sudoers because it locks the file against multiple simultaneous edits and performs a validation check on its contents before overwriting the file. This helps to prevent a situation where you misconfigure sudo and cannot fix the problem because you have lost sudo privileges.

If you are currently signed in as root, run the following:

If you are signed in as a non-root user with sudo privileges, run the same command with the sudo prefix:

Traditionally, visudo opened /etc/sudoers in the vi editor, which can be confusing for inexperienced users. By default on new Ubuntu installations, visudo will use the nano text editor, which provides a more convenient and accessible text editing experience. Use the arrow keys to move the cursor, and search for the line that reads like the following:

Below this line, add the following highlighted line. Be sure to change newuser to the name of the user profile that you would like to grant sudo privileges:

Add a new line like this for each user that should be given full sudo privileges. When you’re finished, save and close the file by pressing CTRL + X , followed by Y , and then ENTER to confirm.

Testing Your User’s Sudo Privileges

Now your new user is able to execute commands with administrative privileges.

When signed in as the new user, you can execute commands as your regular user by typing commands as normal:

You can execute the same command with administrative privileges by typing sudo ahead of the command:

When doing this, you will be prompted to enter the password of the regular user account you are signed in as.

Deleting a User

In the event that you no longer need a user, it’s best to delete the old account.

You can delete the user itself, without deleting any of their files, by running the following command as root:

If you are signed in as another non-root user with sudo privileges, you would use the following:

If, instead, you want to delete the user’s home directory when the user is deleted, you can issue the following command as root:

If you’re running this as a non-root user with sudo privileges, you would run the same command with the sudo prefix:

If you previously configured sudo privileges for the user you deleted, you may want to remove the relevant line again:

Or use the following command if you are a non-root user with sudo privileges:

This will prevent a new user created with the same name from being accidentally given sudo privileges.

Conclusion

You should now have a fairly good handle on how to add and remove users from your Ubuntu 20.04 system. Effective user management will allow you to separate users and give them only the access that they are required to do their job.

For more information about how to configure sudo , check out our guide on how to edit the sudoers file.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Sorry, you have been blocked

This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.

What can I do to resolve this?

You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.

Cloudflare Ray ID: 7d99e982595824b0 • Your IP: Click to reveal 88.135.219.175 • Performance & security by Cloudflare

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *