Реализация анимированной заставки загрузки в linux -сценарии live kit

Предпосылка вопроса в основном ошибочна. Linux действительно рассматривает пользователя 0 как суперпользователя. (Это всегда был пользователь 0; вызов этого пользователя root— это просто соглашение. )Возможности — это дополнительный механизм, который позволяет не -корневым процессам получать определенные привилегии. Пользователь 0 обычно фактически имеет все возможности, поэтому root остается суперпользователем.

Процесс, запущенный с эффективным идентификатором пользователя 0, может потерять возможности, но это не ограничивает его возможности, за исключением строго контролируемых сред. Любой процесс, запущенный с эффективным идентификатором пользователя 0, который может создать исполняемый файл и может вызывать execve, может выполнять произвольный код со всеми возможностями, поскольку execveне сохраняет маску возможностей процесса, когда эффективный идентификатор пользователя — root. (См. «Возможности и выполнение программ от root» в руководстве .)

Можно создать операционную систему, которая полностью лишает доступа к некоторым возможностям, сохраняя при этом идентификатор пользователя 0, установив флаг SECBIT_NOROOTво время входа в систему и убедившись, что его невозможно вернуть, или удалив возможности. из ограничивающего множества. Но Linux (работает не так, как обычно работает операционная система Linux ). Это дополнительная функция ядра, полезная для ограниченных операционных систем (, например внутри контейнеров ).

Возможности могут ограничивать возможности root, но использовать их таким образом непросто, и они в основном используются не для этого. :Возможности в основном используются для того, чтобы избежать запуска процессов от имени root. В ядре Linux есть и другие функции, которые ограничивают возможности root. Модули безопасности, такие как SELinux и AppArmor, применяются независимо от идентификатора пользователя, поэтому возможно настроить систему, в которой пользователь с идентификатором 0 почти ничего не сможет сделать (, но опять же, обычная система настроена иначе ). С пользовательскими пространствами имен пользователь с идентификатором 0 является только суперпользователем внутри этого пространства имен, и эта функция широко используется с контейнерами .

FreeBSD предлагает возможности Capsicum . Я не знаю, ограничивает ли Capsicum возможности пользователя с идентификатором 0. Опять же, основная цель возможностей — уменьшить объем кода, работающего со всеми привилегиями, а не убрать концепцию процесса со всеми -привилегиями.

Я не думаю, что какой-либо другой BSD имеет механизм возможностей. OpenBSD стремится обеспечить безопасность за счет минимизации сложности и объема привилегированного кода. Повышение сложности механизмов безопасности для уменьшения количества привилегий, которые привилегированный код, не является бесплатным обедом.

0
23.10.2021, 12:51
1 ответ

В настоящее время эта функциональность больше не обязательно включается в само ядро ​​Linux, а реализуется как одна служба во время запуска.

Один из самых простых способов добиться этого — установить plymouth. В системах на основе Debian -вы сможете получить его через

sudo apt install plymouth

Уже существует множество готовых -статических и анимированных изображений-заставок, доступных, например. в пакете plymouth-themes, но вы также можете создать свой собственный. Взгляните на этот вопрос и ответ на AskUbuntu для получения дополнительной информации.

0
25.10.2021, 10:16

Теги

Похожие вопросы