CHMOD. Настройка разрешений в символьном формате.
четверг, мая 10, 2007
Проблема
Требуется установить некоторые биты разрешений, сохранив значения остальных битов. Числовые форматы chmod позволяют задавать только все биты разрешений одновременно.
Решение
Самым распространенным применением символических обозначений chmod является добавление бита исполнения в атрибуты файла без изменения остальных разрешений:
$ chmod +x сценарий
По умолчанию используется режим а (АН), поэтому данный пример разрешит исполнение сценария всем пользователям. Следующая команда устанавливает бит исполнения только для владельца файла:
$ chmod u+x сценарий
Также существует возможность сброса отдельных битов. Следующая команда лишает группу и прочих пользователей права исполнения:
$ chmod go-x сценарий
Быстрая установка бита setgid для каталога с целью создания общего каталога. Все файлы, созданные в этом каталоге, будут принадлежать той же группе, что и сам каталог:
$ chmod +s /общий-каталог
Сброс всех разрешений для группы и прочих пользователей:
$ chmod go= сценарий
Следующая команда предоставляет группе те же разрешения, которыми обладает владелец файла:
$chmod g=u сценарий
Комментарий
Символическая запись chmod порой бывает довольно сложной. Следующий пример стирает все существующие разрешения и приводит их в исходное состояние:
$ chmod -v a=,u-rwx,g=rx,o=r сценарий
То же самое можно сделать командой chmod 754. Символическая форма записи также называется мнемонической:
r — чтение (Read);
w — запись (Write);
х — исполнение (Execute);
X — файл должен уже обладать разрешениям исполнения или быть каталогом;
s —назначение идентификатора пользователя или группы при исполнении — опасно! Не используйте с исполняемыми файлами (по крайней мере, если вы не до конца представляете, что делаете);
t — бит закрепления;
u — владелец файла;
g — группа, которой принадлежит файл;
o — прочие пользователи;
+ — добавление новых разрешений к действующим;
= — замена действующих разрешений;
- — сброс разрешений
Требуется установить некоторые биты разрешений, сохранив значения остальных битов. Числовые форматы chmod позволяют задавать только все биты разрешений одновременно.
Решение
Самым распространенным применением символических обозначений chmod является добавление бита исполнения в атрибуты файла без изменения остальных разрешений:
$ chmod +x сценарий
По умолчанию используется режим а (АН), поэтому данный пример разрешит исполнение сценария всем пользователям. Следующая команда устанавливает бит исполнения только для владельца файла:
$ chmod u+x сценарий
Также существует возможность сброса отдельных битов. Следующая команда лишает группу и прочих пользователей права исполнения:
$ chmod go-x сценарий
Быстрая установка бита setgid для каталога с целью создания общего каталога. Все файлы, созданные в этом каталоге, будут принадлежать той же группе, что и сам каталог:
$ chmod +s /общий-каталог
Сброс всех разрешений для группы и прочих пользователей:
$ chmod go= сценарий
Следующая команда предоставляет группе те же разрешения, которыми обладает владелец файла:
$chmod g=u сценарий
Комментарий
Символическая запись chmod порой бывает довольно сложной. Следующий пример стирает все существующие разрешения и приводит их в исходное состояние:
$ chmod -v a=,u-rwx,g=rx,o=r сценарий
То же самое можно сделать командой chmod 754. Символическая форма записи также называется мнемонической:
r — чтение (Read);
w — запись (Write);
х — исполнение (Execute);
X — файл должен уже обладать разрешениям исполнения или быть каталогом;
s —назначение идентификатора пользователя или группы при исполнении — опасно! Не используйте с исполняемыми файлами (по крайней мере, если вы не до конца представляете, что делаете);
t — бит закрепления;
u — владелец файла;
g — группа, которой принадлежит файл;
o — прочие пользователи;
+ — добавление новых разрешений к действующим;
= — замена действующих разрешений;
- — сброс разрешений
Ярлыки: документация, Файловая система, linux