Linux - Как правильно удалить пользователя и проект который ставился из под него?
August 17th, 2024

ВНИМАНИЕ обязательно к прочтению!!!

Сначала делаем бекап всех важных данных. А только потом приступаем к удалению пользователя. После удаления данные восстановить нельзя. Ниже приведено ПОЛНОЕ УДАЛЕНИЕ ПОЛЬЗОВАТЕЛЯ И ВСЕХ СВЯЗАННЫХ С НИМ ДАННЫХ. Если под этим пользователе запущены еще проекты - они так же будут удалены. Эти действия нельзя проводить для пользователя root!!!

Для начала нужно найти и остановить службу (демона) проекта.

Это можно сделать либо из под нашего внутреннего пользователя (из под него мы запускали и устанавливали проект) или любого другого у которого есть права sudo. Конечно же удаление проекта желательно делать из под пользователя на котором он устанавливался, а вот удаление пользователя нужно делать из под другого.

Если мы помним\знаем название проекта (в примере будет рассмотрен проект babylon). Вводим имя сервиса и проверяем его наличие.

sudo find /etc/systemd/system/ -name "babylond.service" -ls

Должны получить примерно такой вывод

16252934      4 -rw-r--r--   1 root     root          444 Feb 23 21:39 /etc/systemd/system/babylond.service

Если помните часть названия проекта выполняем поиск по части слова ( например baby).

sudo find /etc/systemd/system/ -name "*baby*" -ls

Если совсем все печально и память как у золотой рыбки, ищем вручную. После ввода команды ниже перед нами будет список всех сервисов (демонов)

ls -la /etc/systemd/system/

Когда мы нашли наш демон, его нужно остановить, отключить и удалить.

sudo systemctl stop babylond.service
sudo systemctl disable babylond.service

Удаляем файл демона

sudo rm /etc/systemd/system/babylon.service
sudo systemctl daemon-reload

Теперь переходим к удалению самого пользователя и его данных

Удалять пользователя я буду с другой учетной записи, которая имеет права sudo. Перед удалением проверяем запущенные процессы от имени этого пользователя.

ps -u ubabylon -l

Альтернативные команды для проверки запущенных процессов (username заменить на искомое имя пользователя):

ps -f --pid $(pgrep -u username)
ps -u username
pgrep -u username

Что бы завершить все процессы пользователя в принудительном режиме используем PID. Вводим команду и подставляем туда свой PID. ( заменить на нужный пид процесса)

sudo kill -9 <PID>
sudo kill -9 3289490

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

ps -u ubabylon -l

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

Замените username на имя пользователя, которого вы хотите удалить:

Удаление пользователя с удалением домашнего каталога и всех файлов пользователя:

sudo deluser --remove-home --remove-all-files ubabylon

Ниже приведены альтернативные варианты удаления с дополнительными параметрами.

Удаление пользователя с созданием резервной копии файлов перед удалением:

sudo deluser --remove-home --backup username

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

sudo deluser --remove-home --backup --backup-to /path/to/backup/directory username

Удаление пользователя с удалением группы, даже если в ней еще есть пользователи:

sudo deluser --remove-home --remove-group username

Принудительное удаление пользователя без подтверждения:

sudo deluser --force username

Спасибо что Вы с нами. Приятного использования.

Социальные сети:Telegram канал с активностями.

Subscribe to OdaNoder
Receive the latest updates directly to your inbox.
Nft graphic
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from OdaNoder

Skeleton

Skeleton

Skeleton