Linux:Рецепты/Особые режимы разрешений: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 53: Строка 53:
|+ Восьмеричные значения полей
|+ Восьмеричные значения полей
|-
|-
! Режим !! Владелец !! Группа !! Остальные
! Режим !! Специальные режимы !!Владелец !! Группа !! Остальные
|-
|-
| Чтение || 4 || 4 || 4
| Чтение || || 4 || 4 || 4
|-
|-
| Запись || 2 || 2 || 2
| Запись || || 2 || 2 || 2
|-
|-
| Выполнение || 1 || 1 || 1
| Выполнение || || 1 || 1 || 1
|-
|-
| Отсутствие разрешений || 0 || 0 || 0
| setuid || 4 ||  ||  ||
|-
| setgid || 2 ||  ||  ||
|-
| sticky bit || 1 ||  ||  ||
|-
| Отсутствие разрешений || 0 || 0 || 0 || 0
|}
|}



Версия от 21:32, 28 ноября 2023

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


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

Проблема

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

Решение

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

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

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

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

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

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

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

setuid расшифровывается как set user identification («установить идентификатор пользователя»).

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

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

setgid расшифровывается как set group user identification («установить идентификатор группы пользователей»).

Примечание

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

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

См.также

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