Права доступа в Linux и команда chmod
В Linux каждый файл и каталог имеет три типа прав доступа для трех категорий пользователей:
- Владелец (user,
u
) - Группа (group,
g
) - Другие пользователи (other,
o
)
Права доступа определяются тремя основными действиями:
- Чтение (read,
r
) — право просматривать содержимое файла. - Запись (write,
w
) — право изменять файл. - Исполнение (execute,
x
) — право запускать файл как программу (исполнять скрипт или бинарный файл).
Значения прав доступа в числовом формате
Каждому праву соответствует числовое значение:
- Чтение (r) = 4
- Запись (w) = 2
- Исполнение (x) = 1
Чтобы задать полный набор прав для категории пользователей, нужно сложить соответствующие числа:
Действие | Чтение (r) | Запись (w) | Исполнение (x) | Значение |
---|---|---|---|---|
Нет доступа | 0 | 0 | 0 | 0 |
Только чтение | 4 | 0 | 0 | 4 |
Чтение + Запись | 4 | 2 | 0 | 6 |
Чтение + Запись + Исполнение | 4 | 2 | 1 | 7 |
Каждому праву доступа (владелец, группа, другие пользователи) назначается отдельная цифра, и итоговая команда chmod
записывается в формате chmod XYZ <файл>
, где X
— права для владельца, Y
— для группы, а Z
— для других пользователей.
Часто используемые комбинации chmod
Вот основные комбинации значений и что они означают:
chmod 777 <файл>
— Полный доступ для всех (владелец, группа и другие пользователи).- Владелец, группа и другие могут читать, записывать и исполнять файл.
- Числовое представление: 7 (4+2+1) для всех категорий.
chmod 755 <файл>
— Полный доступ для владельца, а для группы и других только чтение и исполнение.- Владелец: чтение, запись и исполнение (7 = 4+2+1).
- Группа и другие: чтение и исполнение (5 = 4+0+1).
chmod 644 <файл>
— Владелец может читать и записывать, а группа и другие — только читать.- Владелец: чтение и запись (6 = 4+2).
- Группа и другие: только чтение (4 = 4+0+0).
chmod 700 <файл>
— Полный доступ для владельца, без доступа для группы и других.- Владелец: чтение, запись и исполнение (7).
- Группа и другие: нет доступа (0).
chmod 600 <файл>
— Владелец может читать и записывать, остальные не имеют доступа.- Владелец: чтение и запись (6).
- Группа и другие: нет доступа (0).
Примеры команд
chmod 750 script.sh
— Владелец может читать, записывать и исполнять; группа может читать и исполнять; другие не имеют доступа.chmod 644 document.txt
— Владелец может читать и записывать; группа и другие могут только читать.
Как применять chmod
chmod 755 program.sh # делает файл исполняемым для всех пользователей
chmod 600 private.txt # ограничивает доступ только для владельца
Используя числовой формат для задания прав, можно быстро и удобно настраивать доступ к файлам и каталогам в Linux.