Sobes.tech
Назад к вопросам
Middle
8

На каких технологиях ядра Linux построена контейнеризация? Что такое SUID, SGID и Sticky bit на файловой системе?

Компании, где спрашивали
ozon_tech

Ответ от нейросети

sobes.tech AI

Контейнеризация в Linux базируется на нескольких ключевых технологиях ядра:

  • Namespaces — изолируют процессы по различным аспектам (PID, сеть, файловая система, пользователь и др.), создавая отдельные пространства имен.
  • Control Groups (cgroups) — ограничивают и контролируют ресурсы (CPU, память, диск) для групп процессов.
  • Union файловые системы (OverlayFS, AUFS) — позволяют создавать слои файловой системы, что облегчает создание и управление контейнерами.

Что касается атрибутов файловой системы:

  • SUID (Set User ID) — при запуске файла с этим битом процесс получает права владельца файла, а не пользователя, который запустил программу. Используется для программ, требующих повышенных прав.

  • SGID (Set Group ID) — при запуске файла процесс получает права группы файла. Для директорий этот бит заставляет новые файлы наследовать группу директории.

  • Sticky bit — на директории ограничивает удаление или переименование файлов внутри директории только владельцем файла, владельцем директории или root. Часто используется в /tmp для безопасности.

Пример установки SUID:

chmod u+s /usr/bin/passwd

Это позволяет обычным пользователям менять пароль, используя права владельца (root) для выполнения необходимых операций.