Как настроить права доступа с помощью chmod?

Аватар пользователя Nikolai Gagarinov
Nikolai Gagarinov
13 февраля 2025

Команда chmod в Unix-подобных операционных системах используется для изменения прав доступа к файлам и директориям. Права доступа могут быть заданы для трех категорий пользователей: владельца файла, группы и остальных пользователей.

Для этого нужно в терминале ввести команду, например:

chmod 755 имя_файла

Примеры числовых значений:

  • 777 — все права для всех (rwxrwxrwx)
  • 755 — полный доступ для владельца, чтение и выполнение для группы и остальных (rwxr-xr-x)
  • 644 — чтение и запись для владельца, чтение для группы и остальных (rw-r--r--)
  • 600 — чтение и запись только для владельца (rw-------)

В восьмеричном формате права задаются с помощью чисел:

  • 4 — право на чтение
  • 2 — право на запись
  • 1 — право на выполнение

Суммируя эти значения, мы можем установить права для каждой категории:

  • Первый символ — права владельца
  • Второй символ — права группы
  • Третий символ — права остальных

Примеры:

  1. Установить права rwx для владельца, r-x для группы и r-- для остальных:

    chmod 754 файл
    
  2. Установить права rw- для всех:

    chmod 666 файл
    

Чтобы посчитать числовое значение для команды chmod, нужно знать, какие права мы хотим установить для владельца, группы и остальных пользователей. Каждое право имеет свое числовое значение:

  • Чтение (r) — 4
  • Запись (w) — 2
  • Выполнение (x) — 1

Шаги для расчета

Определим права для каждой категории пользователей:

  • Владелец (u)
  • Группа (g)
  • Остальные (o)

Сложим значения для каждой категории**:

  • Если вы хотите установить права на чтение и запись для владельца, то: Чтение (4) + Запись (2) = 6
  • Если вы хотите установить права на чтение и выполнение для группы, то: Чтение (4) + Выполнение (1) = 5
  • Если вы хотите установить только право на чтение для остальных, то: Чтение (4) = 4

Запишем итоговые значения. Например, если для владельца мы хотим 6, для группы 5, а для остальных 4, то итоговое значение будет 654.

Еще пример:

Допустим, мы хотим установить следующие права:

  • Владелец: чтение и запись (rw-)
  • Группа: только чтение (r--)
  • Остальные: никаких прав (---)

Расчет будет следующим:

  • Владелец: 4 (чтение) + 2 (запись) = 6
  • Группа: 4 (чтение) = 4
  • Остальные: 0 (нет прав) = 0

Итоговое значение будет 640.

3 0
Пройдите курс по программированию бесплатно