15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати
30.10.2024
1 +1

Як видалити користувача в Linux Ubuntu: повний посібник для системних адміністраторів

Управління обліковими записами користувачів є однією з найбільш фундаментальних відповідальностей будь-якого адміністратора системи Linux. Незалежно від того, чи ви виводите з експлуатації старий обліковий запис співробітника, очищуєте тестових користувачів або посилюєте безпеку вашого середовища VPS Hosting, знання того, як правильно видалити користувачів в Ubuntu, є важливою навичкою, яку ви не можете дозволити собі ігнорувати.

У цьому комплексному посібнику ми проведемо вас через кожен доступний метод видалення користувача в Linux Ubuntu — від командного рядка до графічного інтерфейсу — разом із найкращими практиками, поширеними помилками та кроками перевірки, щоб забезпечити чистоту та безпеку вашої системи.

Чому правильне управління користувачами має значення

Перш ніж переходити до команд, варто зрозуміти, чому управління користувачами є таким критичним. Кожен активний обліковий запис користувача в системі Linux являє собою потенційну поверхню атаки. Невикористовувані або сирітські облікові записи — особливо ті, які мають привілеї sudo — можуть бути використані зловмисниками для отримання несанкціонованого доступу.

Це особливо важливо, якщо ви запускаєте виробничий сервер. Незалежно від того, чи ви керуєте Dedicated Server для бізнес-додатку або спільним середовищем, утримання вашого списку користувачів чистим та актуальним є неприйнятною практикою безпеки.

Поширені сценарії, коли вам потрібно видалити користувача Linux, включають:

  • Співробітник залишає організацію
  • Проект контрактора завершено
  • Тестовий або тимчасовий обліковий запис більше не потрібен
  • Ви консолідуєте кілька облікових записів користувачів
  • Скомпрометований обліковий запис потрібно негайно видалити

Передумови

Перед видаленням будь-якого облікового запису користувача переконайтеся, що у вас є:

  • Доступ root або sudo до системи Ubuntu
  • Вікно терміналу відкрите та готове
  • Підтверджене ім’я користувача, яке ви маєте намір видалити (перевірте ще раз, щоб уникнути помилок)
  • Резервна копія будь-яких важливих даних з домашнього каталогу користувача, якщо потрібно

> ⚠️ Попередження: Видалення користувача є незворотним. Завжди робіть резервну копію критичних файлів перед тим, як продовжити, особливо при використанні прапора -r для видалення домашнього каталогу.

Крок 1: Відкрийте термінал

Для початку відкрийте вікно терміналу в системі Ubuntu. Ви можете зробити це одним із наступних способів:

  • Натисніть Ctrl + Alt + T на клавіатурі
  • Пошукайте “Terminal” у меню програм Ubuntu
  • Клацніть правою кнопкою миші на робочому столі та виберіть “Open Terminal” (якщо ввімкнено)

Якщо ви керуєте віддаленим сервером, підключіться через SSH:

ssh username@your-server-ip

Після підключення ви готові продовжити.

Крок 2: Перевірте, чи існує користувач

Перед тим як спробувати видалити користувача, добре практикувати підтвердження того, що обліковий запис насправді існує в системі. Запустіть наступну команду:

id john

Або шукайте безпосередньо у файлі passwd:

grep john /etc/passwd

Якщо користувач існує, ви побачите вихід, що містить його UID, GID та домашній каталог. Якщо нічого не повертається, користувач не існує в системі.

Ви також можете перелічити всіх не системних користувачів за допомогою:

awk -F: '$3 >= 1000 {print $1}' /etc/passwd

Крок 3: Видаліть користувача за допомогою userdel

Основною командою для видалення користувача в Linux Ubuntu є userdel. Базовий синтаксис:

sudo userdel username

Наприклад, щоб видалити користувача на ім’я john:

sudo userdel john

Ця команда видаляє обліковий запис користувача з файлів /etc/passwd, /etc/shadow та /etc/group системи. Однак за замовчуванням вона не видаляє домашній каталог користувача або поштову скриньку.

Розуміння того, що userdel видаляє за замовчуванням

КомпонентВидаляється за замовчуванням?
Обліковий запис користувача (/etc/passwd)✅ Так
Запис пароля (/etc/shadow)✅ Так
Членство в групі (/etc/group)✅ Так
Домашній каталог (/home/username)❌ Ні
Поштова скринька (/var/mail/username)❌ Ні
Завдання Cron❌ Ні

Крок 4: Видаліть домашній каталог користувача та файли (необов’язково, але рекомендується)

Якщо ви хочете повністю видалити всі сліди користувача — включаючи домашній каталог, особисті файли та поштову скриньку — використовуйте прапор -r:

sudo userdel -r john

Ця одна команда буде:

  • Видалити обліковий запис користувача
  • Видалити домашній каталог, розташований у /home/john
  • Видалити поштову скриньку користувача у /var/mail/john

Коли слід використовувати -r?

Використовуйте прапор -r коли:

  • Обліковий запис користувача більше не потрібен постійно
  • Ви вже зробили резервну копію будь-яких важливих даних
  • Ви хочете звільнити місце на диску
  • Ви виконуєте очищення безпеки

Не використовуйте -r якщо:

  • Інші користувачі або процеси залежать від файлів у цьому домашньому каталозі
  • Ви ще не зробили резервну копію даних
  • Вам може знадобитися відновити обліковий запис у майбутньому

Крок 5: Примусово видаліть користувача, який наразі увійшов у систему

У деяких ситуаціях вам може знадобитися видалити користувача, який наразі увійшов у систему. Стандартна команда userdel повертатиме помилку в цьому випадку. Використовуйте прапор -f (force), щоб перевизначити це:

sudo userdel -f john

Або поєднайте його з прапором -r для видалення домашнього каталогу:

sudo userdel -rf john

> ⚠️ Використовуйте з обережністю: Примусове видалення увійшого користувача може спричинити нестабільність або пошкодження даних, якщо користувач має активні процеси. Завжди краще спочатку завершити сеанс користувача.

Щоб завершити всі активні процеси користувача перед видаленням:

sudo pkill -u john
sudo userdel -r john

Крок 6: Перевірте, що користувач успішно видалений

Після запуску команди видалення завжди перевіряйте, що користувач видалений із системи. Існує кілька способів зробити це:

Метод 1: Перевірте /etc/passwd

cat /etc/passwd | grep john

Якщо нічого не повертається, користувач успішно видалений.

Метод 2: Використовуйте команду id

id john

Ви повинні побачити повідомлення про помилку на кшталт:

id: 'john': no such user

Метод 3: Перевірте домашній каталог

ls /home/

Якщо ви використовували прапор -r, домашній каталог користувача більше не повинен з’являтися в переліку.

Крок 7: Очистіть решту файлів та процесів (розширено)

Навіть після видалення користувача деякі сирітські файли можуть залишитися в системі — файли, які належать видаленому UID користувача, які не були розташовані в його домашньому каталозі. Щоб знайти їх:

sudo find / -uid 1001 -ls 2>/dev/null

Замініть 1001 на UID видаленого користувача (ви повинні записати це перед видаленням). Після визначення ви можете переназначити власність або видалити їх:

sudo find / -uid 1001 -exec rm -rf {} ;

> ⚠️ Будьте надзвичайно обережні з наведеною вище командою. Перегляньте файли перед видаленням, щоб уникнути випадкового видалення критичних системних файлів.

Також перевірте наявність решти завдань cron:

sudo crontab -u john -l
sudo crontab -u john -r

Крок 8: Видаліть користувача через графічний інтерфейс (GUI)

Якщо ви працюєте на настільній установці Ubuntu і віддаєте перевагу графічному підходу, Ubuntu надає вбудований інструмент управління користувачами в програмі Settings.

Кроки для видалення користувача через GUI:

  1. Клацніть на кнопку Activities або натисніть клавішу Super
  2. Пошукайте та відкрийте Settings
  3. Перейдіть до Users на лівій панелі
  4. Клацніть на кнопку Unlock у верхньому правому куті та введіть пароль адміністратора
  5. Виберіть обліковий запис користувача, який ви хочете видалити
  6. Клацніть на кнопку Remove User… внизу екрана
  7. Виберіть Keep Files або Delete Files коли буде запропоновано
  8. Підтвердіть видалення

Метод GUI простий та підходить для настільних середовищ, але для адміністрування сервером — особливо на безголових серверах — командний рядок завжди переважний.

Бонус: Використання deluser — альтернатива, дружня до Ubuntu

Системи на основі Ubuntu та Debian також включають команду deluser, яка є обгорткою вищого рівня навколо userdel і вважається більш дружною до користувача для цих дистрибутивів.

Базове використання:

sudo deluser john

Видаліть домашній каталог та поштову скриньку:

sudo deluser --remove-home john

Видаліть усі файли, які належать користувачу, у всій системі:

sudo deluser --remove-all-files john

Зробіть резервну копію файлів користувача перед видаленням:

sudo deluser --backup --remove-home john

Це створить стиснений архів домашнього каталогу користувача перед його видаленням — набагато безпечніший підхід для виробничих середовищ.

Команда deluser також більш витончено обробляє граничні випадки, ніж userdel, наприклад автоматичне видалення користувача з усіх додаткових груп.

Порівняння: userdel проти deluser

Функція`userdel``deluser`
Доступна на всіх дистрибутивах Linux✅ Так❌ Тільки Debian/Ubuntu
Видалити домашній каталог-r прапор--remove-home
Видалити всі файлиВручну--remove-all-files
Резервна копія перед видаленням❌ Ні--backup
Автоматичне видалення з груп❌ Ні✅ Так
15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати