Лекція 27. Адміністратор root і sudo
Лекція 27. Адміністратор root і sudo
Section titled “Лекція 27. Адміністратор root і sudo”Рівень 5: Оператор операційної системи
Марко, сьогодні ми не просто вивчимо новий термін — ми відкриємо ще один шар того, як насправді працює комп’ютер.
Що ми сьогодні розкриємо
Section titled “Що ми сьогодні розкриємо”- зрозуміти, чому існує привілейований користувач
- розуміти роль
sudo - сформувати безпечні правила роботи з адміністративними командами
Зв’язок з попередніми лекціями
Section titled “Зв’язок з попередніми лекціями”У цій лекції ми використаємо знання про права доступу з лекції 26, щоб зрозуміти роль користувача root і команди sudo.
Правило лабораторії
Section titled “Правило лабораторії”Команди з sudo виконуємо тільки тоді, коли розуміємо кожне слово команди й знаємо, навіщо потрібні підвищені права. Для навчання Марко погоджує такі кроки з дорослим.
root має майстер-ключ
Section titled “root має майстер-ключ”Звичайний користувач має обмеження, які захищають систему від випадкових змін. Користувач root має дуже широкі права. Це корисно для адміністрування і небезпечно для помилок.
Аналогія: у тебе є ключ від своєї кімнати, а в адміністратора будинку — майстер-ключ. Майстер-ключ не носять у руці для кожної дрібниці.
sudo — виконати конкретну команду з підвищеними правами
Section titled “sudo — виконати конкретну команду з підвищеними правами”У Ubuntu/Debian часто використовують sudo command. Система перевіряє, чи користувачу дозволено це робити, і може запросити пароль.
sudo не робить команду «кращою» або «правильнішою». Воно лише дає їй більше повноважень. Помилка з sudo може бути серйознішою.
Правило найменших привілеїв
Section titled “Правило найменших привілеїв”Хороший принцип безпеки: використовуй лише ті права, які реально потрібні для задачі. Якщо ls, cat або твій Python-скрипт працюють без sudo, додавати sudo не треба.
Приклади
Section titled “Приклади”Приклад 1
Section titled “Приклад 1”whoami під звичайним сеансом показує твого користувача. sudo whoami у налаштованій системі зазвичай покаже root — це безпечний демонстраційний приклад, бо команда лише друкує ім’я.
Приклад 2
Section titled “Приклад 2”Для читання власного ~/marko-lab/note.txt sudo не потрібен.
Приклад 3
Section titled “Приклад 3”Встановлення системного пакета через apt змінює системні каталоги, тому зазвичай потребує підвищених прав.
Linux-лабораторія: спостерігаємо права без небезпечних змін
Section titled “Linux-лабораторія: спостерігаємо права без небезпечних змін”За дозволом дорослого:
whoamisudo whoamiПісля цього повернися до звичайної команди:
whoamiМи не запускаємо випадкові команди через sudo. У наступній лекції використаємо його для зрозумілої задачі встановлення пакета.
Місія для Марка
Section titled “Місія для Марка”Виконай місію по черзі. Якщо щось не виходить — спочатку перечитай приклад вище й спробуй знайти, на якому кроці результат відрізняється.
- поясни аналогію майстер-ключа
- виконай
whoami;sudo whoami— лише разом із дорослим, якщо sudo налаштований - назви три команди з попередніх лекцій, яким у твоїй домашній папці sudo не потрібен
- сформулюй правило: коли ти бачиш в інструкції
sudo, що треба перевірити перед запуском? - поясни принцип найменших привілеїв власними словами
Перевір себе
Section titled “Перевір себе”- Хто такий root?
- Що робить sudo?
- Чи робить sudo команду безпечною?
- Чому звичайний користувач має обмеження?
- Що означає принцип найменших привілеїв?
Терміни однією фразою
Section titled “Терміни однією фразою”- Root — користувач із майже всіма правами; «власник майстер-ключа».
- Sudo — слово, яке дозволяє виконати одну конкретну команду з підвищеними правами.
- Привілеї — дозволи, які має користувач або команда.
- Принцип найменших привілеїв — використовуй лише ті права, які справді потрібні для задачі.
whoami— команда, що показує ім’я поточного користувача.
Чек-лист перед наступною лекцією
Section titled “Чек-лист перед наступною лекцією”- Чи можеш ти пояснити, що таке root та
sudo? - Чи знаєш ти, навіщо потрібен принцип найменших привілеїв?
- Чи розумієш ти, коли слід використовувати
sudo, а коли — ні?
Що потрібно винести з лекції
Section titled “Що потрібно винести з лекції”- root має широкі системні повноваження
- sudo тимчасово дає конкретній команді підвищені права
- адміністративні права треба використовувати лише коли зрозуміло навіщо
Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.