← Back to course

Права Доступу і sudo

Права Доступу і sudo

З поверненням.

У попередньому уроці ти навчився читати файли і шукати всередині них.

Тепер ми переходимо до частини, де Linux починає казати:

“Permission denied.”

Не сприймай це особисто.

Linux не сердиться.

Linux просто захищає систему від хаосу, помилок і сонних пальців з правами адміністратора.

Що Ти Вивчиш

У цьому уроці ти дізнаєшся:

Місія

Твоя місія проста:

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

Перевір, Хто Ти

Спочатку перевір поточного користувача:

whoami

Можеш побачити щось таке:

viktor

Це означає, що ти працюєш як користувач viktor.

Ти не root.

І це добре.

Бути root постійно — це як їхати танком по хліб.

Можливо, але непотрібно і трохи тривожно.

Створи Файл для Практики

Перейди в папку для практики:

cd ~/terminal-practice

Якщо її немає, створи:

mkdir -p ~/terminal-practice
cd ~/terminal-practice

Створи файл:

touch permissions-demo.txt

Тепер покажи його з деталями:

ls -l permissions-demo.txt

Можеш побачити щось таке:

-rw-r--r-- 1 viktor viktor 0 May 2 10:00 permissions-demo.txt

На початку це виглядає страшно.

Але це не магія.

Це просто інформація в серйозному піджаку.

Розуміння Символів Прав Доступу

Подивись на цю частину:

-rw-r--r--

Перший символ показує тип файлу:

- означає звичайний файл
d означає директорію

Потім права поділені так:

rw- r-- r--

Ці групи означають:

користувач  група  інші

Тобто:

rw-   власник може читати і писати
r--   група може тільки читати
r--   інші можуть тільки читати

Linux фактично каже:

“Власник може редагувати цей файл. Усі інші можуть дивитися, але руки тримати в кишенях.”

Що Означають r, w і x

Права використовують три літери:

r = read
w = write
x = execute

Для файлів:

Для директорій:

Так, x на директорії означає “увійти”.

Linux любить робити життя цікавим.

Додай Текст у Файл

Запиши щось у файл:

echo "Permissions are important." > permissions-demo.txt

Прочитай його:

cat permissions-demo.txt

Ти маєш побачити:

Permissions are important.

Поки все працює.

Файл належить тобі, і ти можеш у нього писати.

Забери Право Запису

Тепер забери у себе право запису:

chmod u-w permissions-demo.txt

Перевір:

ls -l permissions-demo.txt

Можеш побачити:

-r--r--r-- 1 viktor viktor 28 May 2 10:00 permissions-demo.txt

Тепер спробуй знову записати в нього:

echo "Trying to write again." > permissions-demo.txt

Можеш отримати:

Permission denied

Добре.

Linux щойно захистив файл від змін.

Навіть від тебе.

Трохи грубо, але технічно правильно.

Поверни Право Запису

Поверни собі право запису:

chmod u+w permissions-demo.txt

Тепер спробуй:

echo "Writing works again." > permissions-demo.txt
cat permissions-demo.txt

Ти маєш побачити:

Writing works again.

Вітаю.

Ти забрав право, зламав собі доступ і сам його виправив.

Це фактично Linux-тренування в мініатюрі.

Зроби Скрипт Виконуваним

Створи маленький скрипт:

echo 'echo "Hello from my script!"' > hello.sh

Спробуй його запустити:

./hello.sh

Можеш побачити:

Permission denied

Чому?

Бо файл ще не має права на виконання.

Додай право виконання:

chmod u+x hello.sh

Тепер запусти:

./hello.sh

Ти маєш побачити:

Hello from my script!

Ось що робить x.

Воно каже Linux:

“Цей файл можна запускати.”

Числові Права

Ти можеш побачити такі команди:

chmod 755 hello.sh

Це числовий стиль прав доступу.

Числа означають:

7 = read + write + execute
5 = read + execute
5 = read + execute

Тобто 755 означає:

власник може читати, писати і виконувати
група може читати і виконувати
інші можуть читати і виконувати

Ще один поширений варіант:

chmod 644 permissions-demo.txt

Це означає:

власник може читати і писати
група може читати
інші можуть читати

Поки що запам’ятай:

Не треба запам’ятовувати все сьогодні.

Твій мозок — не флешка.

Що Таке sudo?

sudo означає “виконай цю команду з правами адміністратора”.

Приклад:

sudo pacman -S htop

На Ubuntu або Debian:

sudo apt install htop

На Fedora:

sudo dnf install htop

sudo використовують, коли команда потребує вищих прав.

Наприклад:

sudo — потужний інструмент.

Не використовуй його автоматично.

Використовувати sudo всюди — це як відкривати всі двері бензопилою.

Ефективно, але не елегантно.

Типова Помилка з Правами

Ти можеш побачити:

Permission denied

Зазвичай це означає:

Перед тим як використовувати sudo, запитай себе:

Мені справді потрібна сила адміністратора тут?

Іноді так.

Іноді відповідь така: “Ні, Вікторе, ти просто не в тій папці.”

Обережно з sudo

Це небезпечно:

sudo rm -r /some/system/folder

Це може видалити важливі системні файли.

Linux зробить саме те, що ти попросиш.

Не те, що ти мав на увазі.

Ось різниця між комп’ютером і мудрим другом.

Практика

Спробуй це:

cd ~/terminal-practice
touch permission-test.txt
ls -l permission-test.txt
chmod u-w permission-test.txt
ls -l permission-test.txt
chmod u+w permission-test.txt
ls -l permission-test.txt
echo 'echo "Script works!"' > test-script.sh
chmod u+x test-script.sh
./test-script.sh

Потім дай відповіді:

  1. Що показує whoami?
  2. Що робить chmod u-w?
  3. Що робить chmod u+w?
  4. Що робить chmod u+x?
  5. Що дозволяє робити sudo?

Міні-Завдання

Створи скрипт my-info.sh.

Він має вивести:

Hello from Linux!
Today I am learning permissions.

Потім:

  1. Створи файл.
  2. Спробуй його запустити.
  3. Додай право виконання.
  4. Запусти його знову.
  5. Перевір права через ls -l.

Використовуй тільки команди термінала.

Без мишки.

Мишка вже подала скаргу у відділ кадрів.

Підсумок

Сьогодні ти дізнався, що:

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

Linux каже “ні” не тому, що він тебе ненавидить.

Він каже “ні”, бо іноді ти в одній команді від дуже навчальної катастрофи.

Наступний Урок

У наступному уроці ми навчимося встановлювати програми з термінала за допомогою пакетних менеджерів.

Саме там Linux стає дуже зручним.

І саме там користувачі Arch Linux починають загадково усміхатися.