Заощадьте 15% на всіх хостингових послугах

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

Використовуй код: Skills Почати
Рубрики
Linux Адміністрація

Як видалити користувача в 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 vs deluser

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

Для більшості середовищ Ubuntu сервера deluser з --remove-home є рекомендованим підходом для повсякденного управління користувачами.

Найкращі практики безпеки для управління користувачами на серверах Linux

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

  1. Регулярно перевіряйте облікові записи користувачів — Запускайте cat /etc/passwd або awk -F: '$3 >= 1000' /etc/passwd періодично, щоб переглянути всі активні облікові записи користувачів
  2. Вимикайте облікові записи перед видаленням — Заблокуйте обліковий запис за допомогою sudo usermod -L username перед видаленням, щоб негайно відкликати доступ
  3. Використовуйте принцип найменших привілеїв — Ніколи не надавайте користувачам більше дозволів, ніж їм потрібно
  4. Моніторьте доступ sudo — Регулярно перевіряйте /etc/sudoers та членство в групі sudo
  5. Логуйте всю активність користувачів — Увімкніть логування аудиту за допомогою auditd для відстеження дій користувачів
  6. Видаліть SSH ключі — При видаленні користувача переконайтеся, що його відкриті SSH ключі також видалені з ~/.ssh/authorized_keys
  7. Перевірте запущені процеси — Завжди переконайтеся, що під користувачем не запущені критичні процеси перед видаленням

Ці практики особливо важливі при управлінні VPS з cPanel або будь-яким іншим середовищем панелі керування, де кілька користувачів можуть мати різні рівні доступу.

Управління користувачами на серверах AlexHost

Якщо ви запускаєте свої додатки на сервері AlexHost, належне управління користувачами є ключовою частиною підтримання безпечного та ефективного хостинг-середовища. Незалежно від того, чи ви користуєтесь планом Спільного веб-хостингу або повністю керованого виділеного сервера, розуміння адміністрування користувачів Linux допомагає вам зберігати контроль над тим, хто має доступ до вашої системи та даних.

Для розробників та компаній, які потребують повного root-доступу та повного контролю над своїм середовищем, наші плани VPS Hosting забезпечують ідеальну основу для впровадження надійних політик управління користувачами. Ви отримуєте повний SSH-доступ, повний контроль над обліковими записами користувачів та гнучкість для налаштування вашого сервера саме так, як вам потрібно.

Швидкий довідник: Основні команди видалення користувачів

Ось зручна шпаргалка для найбільш часто використовуваних команд видалення користувачів в Ubuntu:

# Delete a user (keep home directory)
sudo userdel username

# Delete a user and their home directory
sudo userdel -r username

# Force delete a logged-in user
sudo userdel -f username

# Force delete a logged-in user and their home directory
sudo userdel -rf username

# Ubuntu-friendly: delete user (keep home directory)
sudo deluser username

# Ubuntu-friendly: delete user and home directory
sudo deluser --remove-home username

# Ubuntu-friendly: delete user, home directory, and all files
sudo deluser --remove-all-files username

# Ubuntu-friendly: backup and delete user
sudo deluser --backup --remove-home username

# Verify user deletion
id username
grep username /etc/passwd

# Find orphaned files after deletion
sudo find / -uid [UID] -ls 2>/dev/null

Висновок

Видалення користувача в Linux Ubuntu — це простий процес, коли ви розумієте доступні інструменти та їхні наслідки. Команда userdel забезпечує прямий низькорівневий контроль, тоді як deluser пропонує більш дружелюбний для Ubuntu досвід з додатковими функціями безпеки, такими як автоматичні резервні копії.

Основні висновки з цього посібника:

  • Завжди перевіряйте ім’я користувача перед видаленням
  • Створіть резервну копію важливих даних перед використанням прапора -r
  • Використовуйте deluser --backup --remove-home для безпечнішого робочого процесу видалення
  • Перевіріть видалення за допомогою id username або grep на /etc/passwd
  • Очистіть осиротілі файли, які належать UID видаленого користувача
  • Регулярно перевіряйте облікові записи користувачів як частину вашої процедури безпеки сервера

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