Як змінити дозволи на файли в Linux

Linux, як і інші операційні системи, організовує себе за допомогою каталогів та файлів, до яких потенційно можна отримати доступ, змінити чи виконати. Щоб запобігти внутрішній анархії, Linux надає різні рівні дозволу на взаємодію з цими файлами та каталогами. Якщо ви хочете змінити ці дозволи, команда chmod (змінити режим) – це те, що вам потрібно.


Представляємо команду chmod

Що може chmod дозволити вам змінити? Дозвіл може бути наданий або відмовлений різним користувачам на читання (r) файлу, запис (w) у файл та виконання (x) файлу у випадку програми. Система дозволів для каталогів дуже схожа: “r” для читання вмісту каталогів, “w” для запису в каталог шляхом створення файлів або підкаталогів та “x” для введення в цей каталог.

Ці рівні дозволів можна визначити для власника (u) файла чи каталогу, групи (g), до якої належить власник, інших (o) користувачів або просто всіх (а) користувачів відразу.

Використання команди ls для лістингу довгого формату

Якщо ви використовуєте команду ls з опцією -l (для переліку довгих форматів) у такому файлі, як my_app, наприклад, ви побачите вихід, подібний до цього:

1 $ ls -l my_app

АБО

1 -rwxr-x – x 1 hadley tech 729 15 березня 08:01 my_app

Найперший персонаж (““У цьому випадку) показує, що об’єкт” my_app “- це справді файл. Якби це був каталог, ми б бачили d як самого першого персонажа. Далі ми бачимо три лоти з трьох символів (rwxr-x – x). Перші три (rwx) означають, що власник файлу (названий «Hadley» трохи далі) має дозвіл на читання, запис та виконання my_app. Наступні три (r-x) вказують на те, що члени тієї ж групи, що й Хадлі (група “тех”), можуть читати та виконувати my_app, але не можуть їх написати чи змінити. Останні три символи (–x). означає, що інші користувачі можуть просто виконати my_app, але ні читати, ні писати його.

Команда chmod у дії

Тож як ми можемо використовувати chmod для зміни цих дозволів? Ми будемо використовувати таку команду, як:

1 $ chmod 771 my_app

АБО

1 $ chmod g + w my_app

У наведеному вище контексті ці дві команди насправді означають те саме. Щоб зрозуміти, чому ми маємо розуміти, що chmod має особливість. Він приймає інструкції щодо зміни дозволів на файли для різних користувачів або використовуючи комбінації цих літер (текстовий або символічний формат), або за допомогою системи чисел (числовий або восьмеричний формат). Ось як відповідають дві системи:

  • Дозвіл на читання, r, задається числовим значенням 4
  • Дозвіл на запис, w, дається значення 2
  • Дозвіл на виконання, x, задається значенням 1

Тож у початковій ситуації в нашому прикладі вище, Хедлі, який є власником файлу, має дозвіл робити все (rwx), або в числовому виразі має дозвіл 4 + 2 + 1 = 7. Аналогічно, інші члени Хедлі групи, “тех”, мають дозвіл читати та виконувати файл, але не записувати його. Отже, вони мають дозвіл r-x, або чисельно вони мають 4 + 1, що робить 5. У всіх інших просто –x або 1. Наш рядок символів -rwxr-x – x потім стає 751 цифрами.

Отже, наша команда chmod 771 my_app вище – це просто зміна рівня дозволу 751 на 771. Іншими словами, ми просто додаємо дозвіл на запис (w або 2) членам групи Хедлі, “тех”. Тепер зрозуміло і значення іншої версії цієї самої команди: g + w просто означає “додати дозвіл на запис членам групи Хедлі”, як і раніше.

Якби повний дозвіл на читання, запис та виконання було надано всім, то дві форми команди chmod виглядали б так:

1 $ chmod 777 my_app

АБО

1 $ chmod ugo + rwx my_app

І вони б мали однаковий ефект.

Додаткові параметри команди chmod

Команда chmod також має параметри, про які може бути корисно знати. Вони включають:

  • -R для рекурсивного застосування однакових дозволів до каталогу та всіх підкаталогів та файлів у каталозі та різних його підкаталогів
  • -c повідомляти про зміни, -f для придушення повідомлень про помилки та –v (багатослівний) для виведення діагностики для кожного обробленого файлу чи каталогу

Наприклад,

1 $ chmod -R a + rwx / mydir

Це забезпечило б, щоб усі (a) мали повне читання, запис та виконання дозволів для mydir та всіх підкаталогів та файлів у ньому.

Джерела фото: newsyaps.com

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Adblock
    detector