SebWeo.com
У світі Linux та серверного адміністрування безпека та контроль є ключовими. Одним з найперших і найважливіших інструментів, який ви маєте освоїти, є команда chmod. Якщо ви вже знайомі з основами роботи в терміналі, про які ми говорили у нашій попередній статті про інтерфейс командного рядка, то настав час зробити наступний крок.
Ця стаття — ваш детальний путівник по команді chmod. Ми розберемо, що таке права доступу, як їх читати та, найголовніше, як їх змінювати за допомогою двох потужних режимів: символьного та цифрового.
Кожен файл і кожна папка у Linux-подібних системах має набір прапорів, які визначають, хто і що може з ними робити. Це і є права доступу. Щоб їх побачити, достатньо виконати команду ls -l у вашому терміналі.
$ ls -l -rwxr-xr-- 1 user group 4096 лип 27 11:00 script.sh drwxr-xr-x 2 user group 4096 лип 27 11:02 my_folder
Таємничий рядок -rwxr-xr-- на початку і є візуальним представленням прав. Він складається з 10 символів, які розбиваються на чотири частини:
- для файлу, d для директорії (папки).Самі права позначаються трьома літерами — rwx:
r (Read) — право на читання вмісту файлу або перегляд списку файлів у папці.w (Write) — право на зміну (запис) файлу або створення/видалення файлів у папці.x (Execute) — право на виконання файлу (якщо це скрипт або програма) або вхід до папки.
Команда chmod (від “change mode“) дозволяє змінювати ці права. Вона має два основні синтаксиси, і розуміння обох робить вас гнучким адміністратором.
Цей режим використовує літери для позначення користувачів (u, g, o, a) та оператори (+, -, =) для зміни прав (r, w, x).
u (user/власник), g (group/група), o (others/інші), a (all/всі).+ (додати право), - (забрати право), = (встановити конкретні права, перезаписавши старі).
Додати право на виконання файлу script.sh для власника:
chmod u+x script.sh
Забрати право на запис у всіх, крім власника, для файлу config.txt:
chmod go-w config.txt
Встановити права “читання та запис” для власника, і “тільки читання” для групи та інших:
chmod u=rw,go=r config.txt
Це найпопулярніший спосіб використання chmod. Він базується на числах, де кожне право має свою вагу:
r (читання) = 4w (запис) = 2x (виконання) = 1Щоб отримати потрібну комбінацію, ви просто додаєте ці числа. Наприклад, rwx = 4+2+1 = 7. Права задаються трьома цифрами — для власника, групи та інших відповідно.
| Число | Права (rwx) | Опис |
|---|---|---|
| 0 | --- | Жодних прав |
| 1 | --x | Тільки виконання |
| 2 | -w- | Тільки запис |
| 3 | -wx | Запис та виконання (2+1) |
| 4 | r-- | Тільки читання |
| 5 | r-x | Читання та виконання (4+1) |
| 6 | rw- | Читання та запис (4+2) |
| 7 | rwx | Повні права (4+2+1) |
chmod 755 my_script.sh — Найчастіший варіант для скриптів та папок.
rwx — повні права.r-x — читання та виконання.r-x — читання та виконання.chmod 644 index.html — Стандарт для веб-файлів, які не є виконуваними.
rw- — читання та запис.r-- — тільки читання.r-- — тільки читання.
Ще один практичний приклад: Кроки для розрахунку прав кожної категорії користувачів.
Щоб обчислити права та підсумкову цифру, потрібно провести невелику математичну операцію підсумовування:
654Заджойним підсумкові значення: у прикладі (для власника 6, для групи 5, а інших 4) підсумкове значення буде = 654.
Іноді потрібно змінити права для папки та всіх файлів і підпапок всередині неї. Для цього використовується прапор -R (рекурсивно).
УВАГА: Використовуйте цю опцію з великою обережністю, оскільки масова зміна прав може порушити роботу системи або створити загрозу безпеці.
Наприклад, встановити права 755 для папки public_html та всього її вмісту:
chmod -R 755 public_html/ Правильною практикою є встановлення прав 755 для папок і 644 для файлів всередині них, що робиться за допомогою комбінації команд find та chmod.
Грамотне використання chmod дає вам кілька ключових переваг:
Команда chmod — це не просто утиліта, це фундаментальний механізм контролю у Linux. Оволодівши символьним та цифровим режимами, ви зможете гнучко та ефективно керувати безпекою ваших файлів та директорій. Почніть з простих прикладів, як-от chmod 644 для текстових файлів та chmod 755 для скриптів, і поступово до вас прийде відчуття повного контролю над своєю системою.
У нашій подорожі світом сокетів ми почали з "верхнього поверху" — WebSocket у браузері, потім…
У попередній статті ми говорили про WebSockets — технологію, що дозволяє створювати інтерактивні чати в…
Шкіра немовляти – тонка та ніжна. Ще не справляється із захистом організму від зовнішніх факторів.…
Уявіть собі телефонну розмову. Ви дзвоните другу, він піднімає слухавку, і ви можете говорити одночасно,…
Довгий час планшети сприймалися виключно як пристрої для споживання контенту: подивитися YouTube, погортати стрічку новин…
Ви внесли правки в CSS, виправили критичний баг у JavaScript, завантажили файли на сервер і…