Linux:Рецепты/Особые режимы разрешений

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Проверка/Оформление/Редактирование: Мякишев Е.А.


Особые режимы разрешений

Проблема

Разрешить непривилегированным пользователям запускать команду, требующую повышенных привилегий, защитить файлы в каталоге, который является совместным для нескольких пользователей, или принудительно применить определенные разрешения к файлам в каталоге.

Решение

Режим sticky bit применяется к каталогам с файлами, принадлежащими разным пользователям, чтобы не позволить пользователям перемещать, переименовывать или удалять файлы, которыми они не владеют:

chmod -v 1770 foo
Примечание

Режим sticky bit (бит закрепления, или «липкий» бит) - бит ограничения возможности удаления. Этот бит запрещает непривилегированным пользователям удалять или переименовывать файл в каталоге,если он не принадлежит им.

В качестве примера, можно привести каталог /tmp, который доступен для чтения и записи и содержит файлы, принадлежащие нескольким пользователям, а применение режима sticky bit к этому каталогу не позволяет пользователям перемещать, переименовывать или удалять файлы, которыми они не владеют, даже если у них есть права на запись для некоторых таких файлов:

stat --format=%a:%A:%U:%G /tmp

Режим setuid применяется к выполняемым файлам, чтобы повысить привилегии пользователя, запускающего этот файл, до уровня привилегий владельца файла:

chmod -v 4770 foo

Режим setgid применяется к каталогам: все вновь создаваемые файлы в этом каталоге будут принадлежать к той же группе, что и сам он. Это позволяет определить верные уровни владения файлами в общем каталоге:

chmod -v 2770 foo
Примечание

Режим setgid также может применяться к выполняемым файлам, чтобы изменить эффективную группу на группу, владеющую файлом.

Восьмеричные значения полей
Режим Владелец Группа Остальные
Чтение 4 4 4
Запись 2 2 2
Выполнение 1 1 1
Отсутствие разрешений 0 0 0
Разрешения для файлов
Разрешение Описание
7 Чтение, запись, выполнение. Каталоги отличаются от файлов и для всех каталогов требуется установить бит выполнения. Без установленного бита выполнения никто не сможет войти в каталог. Сценарии и двоичные команды должны иметь установленный бит выполнения, или они будут интерпретироваться как обычные файлы
6 Чтение и запись
5 Чтение и выполнение.
4 Чтение
3 Запись и выполнение
2 Запись
1 Выполнение
0 Полное отсутствие разрешений

См.также

Внешние ссылки