Capabilities
Внимание! Настоящая статья устарела и описывает положение вещей примерно на 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