chmod [кто] оператор [разрешения] файл
Значения параметра кто:
u Владелец
g Группа
o Другие пользователи
a Все (владелец, группа и другие пользователи)
Значения параметра оператор:
+ Добавление разрешения
— Удаление разрешения
= Установка заданного разрешения
Значения параметра разрешения:
r Право чтения
w Право записи
x Право выполнения
X Установка права выполнения только в том случае, если для какой‑либо категории пользователей уже задано право выполнения
s Установка бита SUID или SG1D для владельца или группы
t Установка sticky–бита[1]
u Установка тех же прав, что и у владельца
g Установка тех же прав, что и у группы
o Установка тех же прав, что и у других пользователей
Рассмотрим несколько примеров изменения режима доступа к файлу с помощью команды chmod. Предполагается, что строка режима для нашего файла имеет такой вид: rwxrwxrwx.
Команда | Строка режима | Результат |
chmod a‑x myfile | rw‑rw‑rw- | Отмена всех разрешений на выполнение |
chmod og‑w myfile | rw‑r--r-- | Отмена разрешений на запись для группы и других пользователей |
chmod g+w myfile | rw‑rw‑r-- | Добавление разрешения на запись для группы |
chmod u+x myfile | rwxrw‑r-- | Добавление разрешения на выполнение для владельца |
chmod go+x myfile | rwxrwxr‑x | Добавление разрешения на выполнение для группы и других пользователей |
chmod g=o myfile | rwxr‑x r‑x | Предоставление группе тех прав, которые уже установлены для других пользователей |
Общий формат команды chmod для абсолютного режима таков:
chmod [режим] файл
Здесь параметр режим представляет собой восьмеричное число. В простейшем случае оно состоит из трех трехбитовых наборов, каждый из которых относится к соответствующей категории разрешений (владельца, группы, других пользователей). Старший бит
соответствует разрешению не чтение (1 — установлено, 0 -cнято), средний -pазрешению на запись, а младший -pазрешению на выполнение. Рассмотрим примеры:
Таблица 1.3. Восьмеричные значения Режима
Восьмеричное число | Результат |
400 | Владелец имеет право чтения |
200 | Владелец имеет право записи |
100 | Владелец имеет право выполнения |
040 | Группа имеет право чтения |
020 | Группа имеет право записи |
010 | Группа имеет право выполнения |
004 | Другие пользователи имеют право чтения |
002 | Другие пользователи имеют право записи |
001 | Другие пользователи имеют право выполнения |
Чтобы получить итоговое значение режима, который вы хотите задать для. своего файла, определите требуемый набор разрешений и сложите соответствующие числа в левой колонке таблицы.
Обратимся к примеру файла, который рассматривался ранее:
-rw‑r--r-- 1 dave admin 0 Feb 19 22:05 myfile
Его строка режима эквивалентна числу 644, сформированного таким образом:
право чтения и записи для владельца | -400+200=600 |
+ | |
право чтения для группы | 040 |
+ | |
право чтения для других пользователей | 004 |
=644 |
Правило формирования восьмеричного режима доступа проще всего сформулировать с помощью следующей таблицы:
Таблица 1.4. Определение режима доступа к файлу
Владелец | Группа | Другие пользователи |
rwx | rwx | rwx |
4 + 2 + 1 | 4+2+1 | 4+2+1 |
Ниже приведен ряд Примеров, иллюстрирующих применение команды chmod в абсолютном режиме: