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 | Полное отсутствие разрешений |
См.также
Внешние ссылки