chmod

Команда chmod дозволяє встановлювати права доступу для файлів і каталогів

  1. Щоб зробити файл виконуваним :

    chmod +x script.sh

    Після виконання цієї команди, ви зможете виконати цей файл, введенням шляху до нього або використовуючи команду ./ перед ім'ям файлу:

    ./script.sh

    Зверніть увагу, що вам може знадобитися право на виконання файлу, аби вам було дозволено використовувати команду chmod. Якщо у вас немає необхідних прав, ви можете використовувати sudo перед командою chmod

  2. Надати всі права для всіх:

    chmod +rwx файл
  3. Заборонити доступ для інших користувачів:

    chmod go= файл
  4. Тільки читання і запис для власника:

    chmod u=rw файл
  5. Дозволити виконання тільки для групи:

    chmod g=x файл
  6. Додати право на виконання для всіх:

    chmod a+x файл
  7. Встановлення SUID (Set User ID) для виконання файлу власником:

    chmod u+s файл
  8. Встановлення SGID (Set Group ID) для виконання файлу групою:

    chmod g+s файл
  9. Встановлення "sticky bit" для каталогу (запобігає видаленню чужих файлів):

    chmod +t каталог
  10. Комбінування дозволів:

    chmod u=rw,go=rx файл

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

  • 4 - Читання (Read)

  • 2 - Запис (Write)

  • 1 - Виконання (Execute)

Сумуючи ці значення, ви можете встановити потрібні дозволи.

Ось таблиця відповідності між числовими і літеральними значеннями дозволів для команди chmod:

ЛітераЧислоДозвіл

r

4

Читання

w

2

Запис

x

1

Виконання

s

4 (SUID), 2 (SGID)

Set User ID, Set Group ID

t

1

Sticky Bit

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

  • rwx відповідає 7 (4 + 2 + 1),

  • rw- відповідає 6 (4 + 2),

  • r-- відповідає 4 (тільки читання).

Ось кілька прикладів:

  1. Надати всі права для всіх:

    chmod 777 файл
  2. Тільки читання і запис для власника, читання для групи та інших:

    chmod 644 файл
  3. Дозволити виконання для власника та групи, тільки читання для інших:

    chmod 551 файл
  4. Тільки виконання для всіх:

    chmod 111 файл
  5. Встановлення SUID (Set User ID) та SGID (Set Group ID) для власника та групи відповідно:

    chmod 4755 файл
  6. Встановлення "sticky bit" для каталогу:

    chmod 1777 каталог

Використання числових значень може бути зручним, особливо при автоматизації налаштувань дозволів за допомогою сценаріїв чи у випадках, коли потрібно швидко задати конкретні дозволи.

Також важливо зазначити, що при встановленні SUID, SGID та "sticky bit" числові значення можуть включати додаткові біти. Наприклад, 4755 встановлює SUID, що додає 4000 до числа прав доступу.

Last updated