Перейти до вмісту

Модуль 8.3: Пакети та Користувачі

Hands-On Lab Available
Ubuntu intermediate 30 min
Launch Lab ↗

Opens in Killercoda in a new tab

Операції — LFCS | Складність: [MEDIUM] | Час: 40–50 хв

Перед початком цього модуля:


Що ви зможете робити після цього модуля

Розділ «Що ви зможете робити після цього модуля»

Після завершення цього модуля ви зможете:

  • Керувати пакетами за допомогою apt/dnf (встановлення, оновлення, закріплення, утримання) та вирішувати конфлікти залежностей
  • Адмініструвати користувачів і групи з належним контролем доступу та політиками паролів
  • Налаштувати доступ sudo з детальними дозволами для різних адміністративних ролей
  • Перевірити встановлені пакети на вразливості безпеки та зайве програмне забезпечення

Чому цей модуль важливий

Розділ «Чому цей модуль важливий»

Встановлення програм та керування доступами — це те, що системний адміністратор робить щодня. Патчинг систем, створення облікових записів та налаштування sudo є фундаментом безпеки та стабільності будь-якої інфраструктури.

Розуміння цих процесів допоможе вам:

  • Підтримувати актуальність ПЗ — вразливості в непатчених пакетах є головним вектором атак.
  • Керувати доступами — принцип найменших привілеїв починається з правильних налаштувань користувачів.
  • Автоматизувати налаштування — Dockerfiles та скрипти автоматизації базуються на командах встановлення пакетів та створення юзерів.
  • Скласти іспит LFCS — ці теми є базовими й обов’язковими.

Керування пакетами

Розділ «Керування пакетами»
Terminal window
# Оновити список доступних пакетів
sudo apt update
# Встановити програму
sudo apt install nginx
# Видалити програму
sudo apt remove nginx
# Видалити разом із конфігами
sudo apt purge nginx
# Пошук пакетів
apt search "database"
Terminal window
# Встановити програму
sudo dnf install nginx
# Оновити всю систему
sudo dnf update
# Видалити пакет
sudo dnf remove nginx

Адміністрування користувачів

Розділ «Адміністрування користувачів»
  • /etc/passwd — список усіх акаунтів.
  • /etc/shadow — зашифровані паролі (тільки для root).
  • /etc/group — список груп.
Terminal window
# Створити користувача з домашньою папкою та Bash
sudo useradd -m -s /bin/bash alice
# Встановити пароль
sudo passwd alice
# Додати користувача до групи (наприклад, docker)
sudo usermod -aG docker alice
# ВАЖЛИВО: завжди використовуйте -a (append), інакше затрете інші групи!
# Видалити користувача з папками
sudo userdel -r alice

Файл /etc/sudoers визначає, хто може ставати root.

ПРАВИЛО №1: Ніколи не редагуйте цей файл звичайним редактором. Завжди використовуйте visudo. Він перевіряє синтаксис і не дасть вам заблокувати систему.

Terminal window
# Відкрити налаштування sudo
sudo visudo

Приклад запису: alice ALL=(ALL:ALL) ALL — Аліса може все. %devs ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx — всі члени групи devs можуть перезапускати nginx без пароля.


  1. Яка різниця між apt update та apt upgrade?

    Відповідь `apt update` тільки завантажує актуальний список пакетів з репозиторіїв. `apt upgrade` безпосередньо встановлює нові версії вже наявних у системі програм.
  2. Яка команда дозволяє дізнатися, до яких груп належить користувач?

    Відповідь Команда `id <ім'я>` або просто `groups <ім'я>`.
  3. Як заблокувати обліковий запис користувача без його видалення?

    Відповідь `sudo usermod -L <ім'я>` (Lock). Це поставить знак оклику перед паролем у /etc/shadow, і вхід стане неможливим. Розблокувати можна через `-U` (Unlock).
  4. Що станеться, якщо виконати usermod -G docker alice без прапорця -a?

    Відповідь Це видалить Алісу з УСІХ інших додаткових груп (включаючи sudo!), залишивши її тільки в групі docker. Завжди використовуйте `-aG`.

Завдання: Створити користувача та надати йому обмежені права sudo.

  1. Створіть групу app-admins:
    Terminal window
    sudo groupadd app-admins
  2. Створіть користувача bob у цій групі:
    Terminal window
    sudo useradd -m -G app-admins -s /bin/bash bob
  3. Дозвольте групі app-admins переглядати статус сервісів без пароля:
    • Запустіть sudo visudo.
    • Додайте рядок: %app-admins ALL=(ALL) NOPASSWD: /usr/bin/systemctl status *
  4. Перевірте роботу від імені Боба:
    Terminal window
    sudo -u bob sudo systemctl status ssh

Критерії успіху: Користувач Борис може бачити статус сервісів через sudo, але не може їх зупиняти чи запускати.


  • apt/dnf — ваш зв’язок зі світом ПЗ.
  • useradd/usermod — керування людьми та сервісними акаунтами.
  • /etc/shadow — найцінніший файл системи.
  • visudo — єдиний безпечний шлях до налаштувань привілеїв.

Далі: Модуль 8.4: Планування завдань та бекапи — навчіться автоматизувати регулярні задачі та зберігати дані.