використовуючи операційну систему сімейства linux не раз доводиться стикатися з правами доступу. Часом при необхідності змінити або видалити будь-якої файл або папку, система видає нам помилку. Вирішити яку не складе багато часу, якщо звичайно володієш потрібними знаннями.
Переходячи з windows на linux (ubuntu) мені було не зрозуміло, що означають ці символи, цифри. І як взагалі отримати ці права. Адже в windows такого роду проблеми, вирішуються набагато простіше, парочкою кліків в графічному середовищі. А в linux на жаль, може і на щастя, робиться трохи іншим способом.
І ось ознайомившись з офіційною документацією, прочитавши парочку цікавих публікацій. Вирішив написати цю статтю, може комусь буде корисною. Спробую все пояснити максимально просто і зрозуміло. Отже, змінюємо права доступу командою chmod в терміналі.
Синтаксис команди chmod.
chmod options mode file
mode – сюди прописуються які саме права будуть встановлені, для всіх типів користувачів. Спочатку розберемо по докладніше з користувачами. Система розподілена на 3 типи користувачів.
- поточного користувача-u скорочено від user
- інших користувачів, що входять до групи поточного користувача-g тобто group
- всіх інших користувачів – o тобто other
У нас вийшло ugo тобто user group other . Тепер для кожного типу користувачів визначаємо які саме права будуть встановлені. Ознайомимося з використанням символьних команд.
r(read) читання файлу або вмісту каталогаw(write) – запис у файл або в каталогх(execute) виконання файлу або його чтениех(special execute) виконання, якщо файл є каталогом або вже має право на виконання для іншого пользователяѕ(setuid/gid) встановлені атрибути suid або sgid дозволяють запускати файл на виконання з правами власника файлу або группыt(sticky) встановлює якийсь t-біт на директорію, змінює правило таким чином, що видалити файл може тільки власник цього файлу
Читайте також: як очистити систему ubuntu
Для кожного типу користувача використовується три правила. Основні використовувані правила-rwx.
І останнє з синтаксису chmod:
file 8>–>- назва файлу або папки до якого виставляються дані права.
Отже, розглянемо приклад використання:
sudo chmod rwxr–r– filename
Права виставляються по три правила трьом користувачам.
Для поточного користувача u виставлені всі права-читання, запис і виконання. Для групи g і іншим користувачам o дозволяється тільки читання, знак тире ( – ) означає ніяких прав, виходить запис і виконання групі і іншим користувачам ми не встановлюємо.
Розглянемо приклад з використанням папки з коментарями.
Було розглянуто використання команди в символьному вигляді, а тепер розглянемо в числовому вигляді.
У числовому вигляді файлу або каталогу встановлюються абсолютні права. Ознайомтеся з таблицею трохи нижче
Варіанти запису прав користувача.
З таблиці напрошується висновок наступний: символьний запис у вигляді r-(тільки читання) можна замінити однією лише цифрою 2 . Запис rw-(читання і запис) цифрою 6 . І так далі.
Встановимо повні права користувачеві на файл, а групам і іншим користувачам дозволимо тільки читання цього файлу. Наступні два правила абсолютно ідентичні.
sudo chmod rwxr–r — filesudo chmod 744 file
Для перегляду прав використовується команда
sudo ls-l
Виводить список файлів і каталогів і інформацію докладних прав користувачів.
У лівій колонці – права доступу. Приставка – 8 –&>позначає файл (файли виділені), приставка d позначає директорія.
Значеннями прав за замовчуванням є:
Для файлів: 644 (- rw-r-r–)
Для директорій: 755 (drwxr-xr-x)