Удалить пользователя linux команда

Как удалить пользователя в Ubuntu 20.04: инструкция

Администратору сервера нередко приходится работать с учётными записями пользователей — добавлять, удалять, настраивать режим доступа. Удаление неактуальных учётных записей — одна из мер безопасности, которая значительно снизит количество уязвимостей в системе.

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

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

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

Обратите внимание, что для работы с учётными записями, вам понадобится обладать привилегиями суперпользователя.

Инструкции подойдут для любых облачных серверов , на которых предустановлена ОС Ubuntu.

Проверка учётной записи

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

Проверяем список пользователей, авторизованных в системе, с помощью утилиты who , или её псевдонима w :

Если видим, что пользователь timeweb авторизован, нужно проверить, какие процессы запущены пользователем. Это необходимый шаг, поскольку, если в фоновом режиме выполняются операции, удалить пользователя Ubuntu 20.04 не позволит. Выполняем проверку с помощью утилиты ps :

В результате видим подобный ответ:

 PID TTY TIME CMD
1297129 pts/2 00:00:00 bash
1297443 pts/2 00:00:00 htop

В тестовых целях мы запустили в учётной записи timeweb утилиту htop , которая работает в фоновом режиме.

Читайте также:  Как проверить всех пользователей linux

Блокировка доступа

Прежде чем останавливать процессы пользователя, нужно заблокировать доступ в систему. Сделать это можно, изменив пароль.

Пароли пользователей хранятся в системе в зашифрованном виде, они расположены в файле /etc/shadow . Этот файл доступен для чтения только пользователю root, помимо хэшей паролей он содержит и их сроки действия.

Существует специальная утилита, благодаря которой можно в операционной системе Ubuntu удалить пароль пользователя , — passwd . Для ограничения доступа воспользуемся утилитой passwd с флагом -l (или —lock ), который означает перевод работы утилиты в режим блокировки:

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

Удаление процессов

В операционной системе Ubuntu удалить пользователя через консоль не получится, если от его имени выполняются какие-либо процессы. Для завершения процесса вы можете использовать одну из следующих команд:

  1. kill — удаление процесса по его идентификатору. Определить ID процессов пользователя timeweb можно с помощью команды top -U timeweb , или ps -u timeweb .
  2. pkill — удаление процесса по его имени. Так, например, мы видим, что пользователь timeweb запустил процесс top, значит можем завершить его командой: sudo pkill top .
  3. killall — удаление всех процессов, в том числе дочерних. Нередко случается, что в рамках одного процесса запускается множество так называемых подпроцессов, останавливать их по имени или идентификатору — сложная и трудоёмкая задача.

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

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

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

Читайте также:  Настройка сети кали линукс при установке

Опционально — архивируем домашний каталог

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

Встроенные в операционную систему Ubuntu утилиты позволяют удалить пользователя сохраняя его домашнюю директорию. Однако, это не рекомендуется делать по двум причинам.

Место на диске. В домашнем каталоге пользователя может содержаться достаточно большой объём информации. Нерационально и избыточно хранить данные всех неактуальных учётных записей на основном рабочем диске, так со временем может случиться так, что не хватит места для новых пользователей.

Актуальность данных. Хороший тон — иметь в каталоге /home набор директорий, который полностью соответствует активным учётным записям. Содержание в порядке списка рабочих каталогов поможет при администрировании.

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

sudo tar -cvjf /mnt/nobackup/timeweb.homedir.tar.gz /home/timeweb

Рассмотрим подробнее аргументы и флаги программы.

  • -c — отвечает за создание итогового файла-архива с расширением .tar.
  • -v — отвечает за вывод отладочной информации и перечисление списка файлов, которые подлежат архивированию.
  • -z — отвечает за создание файла-архива с расширением .gz.
  • -f — указывает, что первый аргумент будет использоваться в качестве имени архива.

Первый аргумент — итоговое расположение архива. В нашем примере мы расположим архив с домашним каталогом пользователя на диске nobackup, который, как следует из названия, не подлежит резервному копированию.

Второй аргумент — путь к каталогу, из которого создаётся архив.

Остановка заданий планировщика

Перед тем, как удалить пользователя Ubuntu, рекомендуется остановить все задачи планировщика cron , запущенных этим пользователем. Это можно сделать командой crontab . Запустим её из-под пользователя timeweb с помощью флага -u , и переведём в режим удаления, передав флаг -r :

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

Читайте также:  Linux узнать pid пользователя

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

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

Для удаления учётной записи будем использовать утилиту deluser . Утилита без параметров удалит учётную запись пользователя, однако оставит домашний каталог и прочие файлы пользователя. Вы можете использовать следующие флаги:

  • —remove-home — как следует из названия, утилита удалит домашнюю директорию пользователя
  • —remove-all-files — утилита удалит все файлы системы, принадлежащие пользователю, включая домашний каталог
  • —backup — утилита создаст архив домашней директории и файлов почты и поместит его в корневой каталог системы. Для того, чтобы указать каталог для сохранения архива, используйте флаг —backup-to .

Как видно из описания параметров выше, шаг с ручным архивированием домашнего каталога пользователя вовсе необязательный — утилита deluser всё сделает за вас. Кроме того, с помощью deluser можно как удалить пользователя из группы Ubuntu, так и удалить саму группу:

sudo deluser timeweb administrators

Команда выше удаляет пользователя timeweb из группы administrators.

Приступаем к полному удалению пользователя и группы timeweb без сохранения домашней директории:

sudo deluser --remove-home timeweb

Удаление пользователя через графический интерфейс

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

Откройте в «Параметрах системы» пункт «Пользователи». Для того, чтобы перейти в режим суперпользователя, нажмите на кнопку «Разблокировать». После этого кнопка «Удалить пользователя» станет активна, нажав её, вы увидите диалоговое окно с предложением удалить файлы пользователя, речь о домашнем каталоге.

Заключение

Удалить пользователя в операционной системе Ubuntu несложно, достаточно лишь воспользоваться утилитой deluser , указав все необходимые параметры. Однако в статье мы привели несколько шагов, которые помогут удалить учётную запись безопасно, сохранив стабильность работы системы.

Источник

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