Як перевірити права доступу до файлу в Linux?
Linux – одна з найпопулярніших операційних систем, на якій працюють VPS-сервери, платформи веб-хостингу та віртуальні машини по всьому світу. В основі безпеки Linux лежить система дозволів на доступ до файлів – правила, які визначають, хто може читати, змінювати або виконувати файли. Знання того, як перевіряти дозволи в Linux, необхідне для керування VPS, налаштування безпечного хостингового середовища або роботи у віртуальній машині.
Основи дозволів на файли
Кожен файл і каталог в Linux має три типи дозволів:
- Читання (r) → перегляд вмісту файлу або списку каталогів.
- Записувати (w) → змінювати або видаляти файл, додавати або видаляти файли у каталозі.
- Виконати (x) → запустити файл (якщо це програма) або увійти до каталогу.
І ці дозволи застосовуються до трьох категорій користувачів:
- Власник (користувач) → зазвичай творець файлу.
- Група → користувачі, які належать до групи, до якої належить файл.
- Інші → всі інші.
Перевірка прав доступу за допомогою ls -l
Найпростіший спосіб – скористатися командою ls -l:
Приклад виведення:
- -rw-r–r– → дозволи
- користувач → власник
- група → група
- file.txt → ім’я файлу
Тут -rw-r–r– означає:
- Власник: читання, запис
- Група: читання
- Інші: читати
Детальна інформація зі статистикою
Для отримання більш детальної інформації використовуйте:
Приклад:
Тепер ви бачите дозволи у двох формах: символьній (-rw-r–r–) та числовій (0644).
Розуміння числових значень
Дозволи можуть бути представлені у вигляді чисел:
- Читання = 4
- Запис = 2
- Виконати = 1
Їх додавання дає значення дозволу:
- rw- = 6
- r-x = 5
- rwx = 7
Отже, 0644 = Власник: 6 (читання/запис), Група: 4 (читання), Інші: 4 (читати).
Дозволи для каталогів
Для каталогів правила дещо інші:
- r → перелічити назви файлів.
- w → створювати або видаляти файли (якщо також задано x).
- x → увійти до каталогу.
Приклад
Тут власник має повні права, група може читати/вводити, а інші не мають доступу.
Спеціальні біти дозволів
Linux також підтримує розширені дозволи:
- setuid (s) → запустити файл з привілеями власника.
- setgid (s) → запустити файл з привілеями групи.
- sticky bit (t) → у каталогах лише власник файлу може видаляти свої файли (зазвичай у /tmp).
Приклад:
Символ t в кінці означає липкий біт.
Коротка довідкова таблиця
Символічні | Числовий | Значення (файл) | Значення (Довідник) |
---|---|---|---|
— | 0 | Немає доступу | Немає доступу |
–x | 1 | Виконати | Ввести |
-w- | 2 | Записати | Створити/видалити (з x) |
-wx | 3 | Записати + виконати | Змінити + ввести |
r– | 4 | Читання | Список імен (з x) |
r-x | 5 | Зчитати + виконати | Список + ввід |
rw- | 6 | Читання + запис | Перегляд + зміна вмісту |
rwx | 7 | Повний доступ | Повний контроль |
Приклади, які ви часто бачите
- -rw-r–r– (0644) → власник може читати/записувати; інші можуть лише читати.
- -rwxr-xr-x (0755) → власник може робити все; інші можуть запускати, але не змінювати.
- drwxrwxrwxrwt (1777) → тека з правами доступу до всього світу з липким бітом (як /tmp).
Висновок
Для перевірки прав доступу до файлів у Linux:
- Використовуйте ls -l для швидкого перегляду.
- Використовуйте stat для детального виводу.
- Навчіться читати як символьні (rwx), так і числові (755, 644) позначення.
- Пам’ятайте, що каталоги дотримуються тих самих правил, але інтерпретують x по-різному.
Як тільки ви зрозумієте ці основи, дозволи стануть потужною і зрозумілою частиною безпеки Linux.