Skip to content

Лекція 27. Адміністратор root і sudo

Лекція 27. Адміністратор root і sudo

Section titled “Лекція 27. Адміністратор root і sudo”

Рівень 5: Оператор операційної системи

Марко, сьогодні ми не просто вивчимо новий термін — ми відкриємо ще один шар того, як насправді працює комп’ютер.

Що ми сьогодні розкриємо

Section titled “Що ми сьогодні розкриємо”
  • зрозуміти, чому існує привілейований користувач
  • розуміти роль sudo
  • сформувати безпечні правила роботи з адміністративними командами

Зв’язок з попередніми лекціями

Section titled “Зв’язок з попередніми лекціями”

У цій лекції ми використаємо знання про права доступу з лекції 26, щоб зрозуміти роль користувача root і команди sudo.

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

Звичайний користувач має обмеження, які захищають систему від випадкових змін. Користувач root має дуже широкі права. Це корисно для адміністрування і небезпечно для помилок.

Аналогія: у тебе є ключ від своєї кімнати, а в адміністратора будинку — майстер-ключ. Майстер-ключ не носять у руці для кожної дрібниці.

sudo — виконати конкретну команду з підвищеними правами

Section titled “sudo — виконати конкретну команду з підвищеними правами”

У Ubuntu/Debian часто використовують sudo command. Система перевіряє, чи користувачу дозволено це робити, і може запросити пароль.

sudo не робить команду «кращою» або «правильнішою». Воно лише дає їй більше повноважень. Помилка з sudo може бути серйознішою.

Правило найменших привілеїв

Section titled “Правило найменших привілеїв”

Хороший принцип безпеки: використовуй лише ті права, які реально потрібні для задачі. Якщо ls, cat або твій Python-скрипт працюють без sudo, додавати sudo не треба.

whoami під звичайним сеансом показує твого користувача. sudo whoami у налаштованій системі зазвичай покаже root — це безпечний демонстраційний приклад, бо команда лише друкує ім’я.

Для читання власного ~/marko-lab/note.txt sudo не потрібен.

Встановлення системного пакета через apt змінює системні каталоги, тому зазвичай потребує підвищених прав.

Linux-лабораторія: спостерігаємо права без небезпечних змін

Section titled “Linux-лабораторія: спостерігаємо права без небезпечних змін”

За дозволом дорослого:

Terminal window
whoami
sudo whoami

Після цього повернися до звичайної команди:

Terminal window
whoami

Ми не запускаємо випадкові команди через sudo. У наступній лекції використаємо його для зрозумілої задачі встановлення пакета.

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

  1. поясни аналогію майстер-ключа
  2. виконай whoami; sudo whoami — лише разом із дорослим, якщо sudo налаштований
  3. назви три команди з попередніх лекцій, яким у твоїй домашній папці sudo не потрібен
  4. сформулюй правило: коли ти бачиш в інструкції sudo, що треба перевірити перед запуском?
  5. поясни принцип найменших привілеїв власними словами
  • Хто такий root?
  • Що робить sudo?
  • Чи робить sudo команду безпечною?
  • Чому звичайний користувач має обмеження?
  • Що означає принцип найменших привілеїв?
  • Root — користувач із майже всіма правами; «власник майстер-ключа».
  • Sudo — слово, яке дозволяє виконати одну конкретну команду з підвищеними правами.
  • Привілеї — дозволи, які має користувач або команда.
  • Принцип найменших привілеїв — використовуй лише ті права, які справді потрібні для задачі.
  • whoami — команда, що показує ім’я поточного користувача.

Чек-лист перед наступною лекцією

Section titled “Чек-лист перед наступною лекцією”
  • Чи можеш ти пояснити, що таке root та sudo?
  • Чи знаєш ти, навіщо потрібен принцип найменших привілеїв?
  • Чи розумієш ти, коли слід використовувати sudo, а коли — ні?

Що потрібно винести з лекції

Section titled “Що потрібно винести з лекції”
  • root має широкі системні повноваження
  • sudo тимчасово дає конкретній команді підвищені права
  • адміністративні права треба використовувати лише коли зрозуміло навіщо

Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.