Capabilities: различия между версиями
(Import from freesource.info) |
Vt (обсуждение | вклад) (копипаста) |
||
(не показано 8 промежуточных версий 7 участников) | |||
Строка 1: | Строка 1: | ||
{{historical}} | |||
{{attention|Настоящая статья устарела и описывает положение вещей примерно на 2008 год.}} | |||
{{MovedFromFreesourceInfo|AltLinux/Документация/capabilities}} | {{MovedFromFreesourceInfo|AltLinux/Документация/capabilities}} | ||
{{викифицировать}} | |||
== capability == | |||
<pre> | |||
> Не могли ли Вы рассказать в 2-х словах, что за чудесные свойства модуля | |||
> capability? | |||
Если в 2-х словах - man capabilities ;) | Если в 2-х словах - man capabilities ;) | ||
Вообще capabilities - это средства для управления привилегиями, которые в | |||
традиционных Unix-подобных системах были доступны только процессам, запущенным | |||
с правами root (uid==0). Этот механизм позволяет дать процессу права на выполнение | |||
каких-либо действий, недоступных обычному пользователю (например, изменение | |||
системного времени, прямой доступ к аппаратуре, использование зарезервированных | |||
портов TCP/UDP (< 1024), блокировка страниц в физической памяти), но в то же время | |||
не предоставлять этому процессу полный набор прав root. Например, процесс ntpd | |||
выполняется с правами псевдопользователя (и к тому же в chroot), но благодаря | |||
наличию привилегии CAP_SYS_TIME имеет возможность модифицировать системное время. | |||
В большинстве вариантов ядра поддержка capabilities встроена в ядро и не требует | |||
загрузки дополнительных модулей. Однако в ядрах wks26 эта поддержка вынесена в | |||
В большинстве вариантов ядра поддержка capabilities встроена в ядро и не требует загрузки дополнительных модулей. Однако в ядрах wks26 эта поддержка вынесена в отдельный модуль; это связано с тем, что для ядер wks26 также собирается модуль realtime, который предоставляет дополнительные средства для раздачи прав на выполнение процессов с realtime-приоритетом. Модуль realtime не может загрузиться при активном модуле capability, поэтому пришлось вынести соответствующую поддержку из ядра в отдельный модуль. (Хотя на самом деле можно было бы оставить модуль capability встроенным в ядро, а для использования модуля realtime добавлять в параметры загрузки ядра capability.disable=1.) | отдельный модуль; это связано с тем, что для ядер wks26 также собирается модуль | ||
realtime, который предоставляет дополнительные средства для раздачи прав на | |||
выполнение процессов с realtime-приоритетом. Модуль realtime не может загрузиться | |||
при активном модуле capability, поэтому пришлось вынести соответствующую поддержку | |||
из ядра в отдельный модуль. (Хотя на самом деле можно было бы оставить модуль | |||
capability встроенным в ядро, а для использования модуля realtime добавлять в | |||
параметры загрузки ядра capability.disable=1.) | |||
</pre> | |||
Sergey Vlasov, vsu at altlinux.ru | |||
[[Категория:Documentation]] | |||
[[Category:Admin]] | |||
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} | |||
[[категория:kernel]] |
Текущая версия от 07:33, 17 мая 2023
Внимание! Настоящая статья устарела и описывает положение вещей примерно на 2008 год.
capability
> Не могли ли Вы рассказать в 2-х словах, что за чудесные свойства модуля > capability? Если в 2-х словах - man capabilities ;) Вообще capabilities - это средства для управления привилегиями, которые в традиционных Unix-подобных системах были доступны только процессам, запущенным с правами root (uid==0). Этот механизм позволяет дать процессу права на выполнение каких-либо действий, недоступных обычному пользователю (например, изменение системного времени, прямой доступ к аппаратуре, использование зарезервированных портов TCP/UDP (< 1024), блокировка страниц в физической памяти), но в то же время не предоставлять этому процессу полный набор прав root. Например, процесс ntpd выполняется с правами псевдопользователя (и к тому же в chroot), но благодаря наличию привилегии CAP_SYS_TIME имеет возможность модифицировать системное время. В большинстве вариантов ядра поддержка capabilities встроена в ядро и не требует загрузки дополнительных модулей. Однако в ядрах wks26 эта поддержка вынесена в отдельный модуль; это связано с тем, что для ядер wks26 также собирается модуль realtime, который предоставляет дополнительные средства для раздачи прав на выполнение процессов с realtime-приоритетом. Модуль realtime не может загрузиться при активном модуле capability, поэтому пришлось вынести соответствующую поддержку из ядра в отдельный модуль. (Хотя на самом деле можно было бы оставить модуль capability встроенным в ядро, а для использования модуля realtime добавлять в параметры загрузки ядра capability.disable=1.)
Sergey Vlasov, vsu at altlinux.ru