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