Linux:Рецепты/Особые режимы разрешений: различия между версиями
Myagkij (обсуждение | вклад) |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 31: | Строка 31: | ||
chmod -v 4770 foo | chmod -v 4770 foo | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Примечание1| | |||
setuid расшифровывается как set user identification («установить идентификатор пользователя»). | |||
}} | |||
Режим setgid применяется к каталогам: все вновь создаваемые файлы в этом каталоге будут принадлежать к той же группе, что и сам он. Это позволяет определить верные уровни владения файлами в общем каталоге: | Режим setgid применяется к каталогам: все вновь создаваемые файлы в этом каталоге будут принадлежать к той же группе, что и сам он. Это позволяет определить верные уровни владения файлами в общем каталоге: | ||
Строка 37: | Строка 41: | ||
chmod -v 2770 foo | chmod -v 2770 foo | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Примечание1| | |||
setgid расшифровывается как set group user identification («установить идентификатор группы пользователей»). | |||
}} | |||
{{Примечание1| | {{Примечание1| | ||
Режим setgid также может применяться к выполняемым файлам, чтобы изменить эффективную группу на группу, владеющую файлом. | Режим setgid также может применяться к выполняемым файлам, чтобы изменить эффективную группу на группу, владеющую файлом. | ||
}} | |||
{{Примечание1| | |||
* Режим setuid применяется к выполняемым файлам. | |||
* Режим setgid применяется к каталогам и выполняемым файлам. | |||
* Режим sticky bit применяется только к каталогам. | |||
}} | }} | ||
Строка 45: | Строка 59: | ||
|+ Восьмеричные значения полей | |+ Восьмеричные значения полей | ||
|- | |- | ||
! Режим !! Владелец !! Группа !! Остальные | ! Режим !! Специальные режимы !!Владелец !! Группа !! Остальные | ||
|- | |||
| Чтение || || 4 || 4 || 4 | |||
|- | |||
| Запись || || 2 || 2 || 2 | |||
|- | |||
| Выполнение || || 1 || 1 || 1 | |||
|- | |||
| setuid || 4 || || || | |||
|- | |||
| setgid || 2 || || || | |||
|- | |||
| sticky bit || 1 || || || | |||
|- | |||
| Отсутствие разрешений || 0 || 0 || 0 || 0 | |||
|} | |||
{| class="wikitable" | |||
|+ Значения sticky bit, setgid, setuid | |||
|- | |||
! Режим !! Восьмеричное значение | |||
|- | |||
| Все биты сброшены || 0 | |||
|- | |||
| Установлен sticky bit || 1 | |||
|- | |||
| Установлен setgid || 2 | |||
|- | |||
| Установлены sticky bit и setgid || 3 | |||
|- | |- | ||
| | | Установлен setuid || 4 | ||
|- | |- | ||
| | | Установлены sticky bit и setuid || 5 | ||
|- | |- | ||
| | | Установлены setgid и setuid || 6 | ||
|- | |- | ||
| | | Установлены sticky bit, setgid и setuid || 7 | ||
|} | |} | ||
Текущая версия от 21:39, 28 ноября 2023
Особые режимы разрешений
Проблема
Разрешить непривилегированным пользователям запускать команду, требующую повышенных привилегий, защитить файлы в каталоге, который является совместным для нескольких пользователей, или принудительно применить определенные разрешения к файлам в каталоге.
Решение
Режим sticky bit применяется к каталогам с файлами, принадлежащими разным пользователям, чтобы не позволить пользователям перемещать, переименовывать или удалять файлы, которыми они не владеют:
chmod -v 1770 foo
Режим setuid применяется к выполняемым файлам, чтобы повысить привилегии пользователя, запускающего этот файл, до уровня привилегий владельца файла:
chmod -v 4770 foo
Режим setgid применяется к каталогам: все вновь создаваемые файлы в этом каталоге будут принадлежать к той же группе, что и сам он. Это позволяет определить верные уровни владения файлами в общем каталоге:
chmod -v 2770 foo
Режим | Специальные режимы | Владелец | Группа | Остальные |
---|---|---|---|---|
Чтение | 4 | 4 | 4 | |
Запись | 2 | 2 | 2 | |
Выполнение | 1 | 1 | 1 | |
setuid | 4 | |||
setgid | 2 | |||
sticky bit | 1 | |||
Отсутствие разрешений | 0 | 0 | 0 | 0 |
Режим | Восьмеричное значение |
---|---|
Все биты сброшены | 0 |
Установлен sticky bit | 1 |
Установлен setgid | 2 |
Установлены sticky bit и setgid | 3 |
Установлен setuid | 4 |
Установлены sticky bit и setuid | 5 |
Установлены setgid и setuid | 6 |
Установлены sticky bit, setgid и setuid | 7 |
Разрешение | Описание |
---|---|
7 | Чтение, запись, выполнение. Каталоги отличаются от файлов и для всех каталогов требуется установить бит выполнения. Без установленного бита выполнения никто не сможет войти в каталог. Сценарии и двоичные команды должны иметь установленный бит выполнения, или они будут интерпретироваться как обычные файлы |
6 | Чтение и запись |
5 | Чтение и выполнение. |
4 | Чтение |
3 | Запись и выполнение |
2 | Запись |
1 | Выполнение |
0 | Полное отсутствие разрешений |
См.также
Внешние ссылки