allowPrivilegeEscalation = true и RequiredDropCapabilities = SETUID в Куберне / OpenShift - PullRequest
0 голосов
/ 01 февраля 2020

Я прочитал их описания здесь: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#privilege -каскалация

И я все еще очень озадачен тем, являются ли эти настройки одинаковыми, но противоположными? Например, в OpenShift restricted S CC мы имеем SETUID в качестве одного из RequiredDropCapabilities. В то же время, в том же S CC, у нас есть allowPrivilegeEscalation = true.

Один из них запрещает запуск процессов под другими пользователями, а другой разрешает это?

Это то, что я прочитал на allowPrivilegeEscalation = true:

По умолчанию это разрешено, чтобы не нарушать двоичные файлы setuid

и для SETUID:

setuid () устанавливает эффективный идентификатор пользователя вызывающего процесса

(из http://man7.org/linux/man-pages/man2/setuid.2.html)

Может кто-нибудь объяснить мне, пожалуйста

1 Ответ

0 голосов
/ 01 февраля 2020

Двоичный файл setuid - это файл, имеющий 4000-битный флаг в своих правах доступа к файлу. В то время как мы обычно говорим о Unix правах доступа к файлу, используя только три восьмеричные цифры (744 или 600 и т. Д. c), следующие биты обычно используются для suid, sgid и sticky. Исполняемый файл suid автоматически присваивается идентификатору владельца файла (). Вот как работают такие инструменты, как sudo, которые требуют повышенных разрешений, но запускаются непривилегированными пользователями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...