похоже, whoami наследует мой uid как euid, вместо того, чтобы наследовать мой euid как euid, это предполагаемое поведение?
Я не уверен на 100% насчет PHP , но в языках программирования, непосредственно вызывающих системные вызовы Linux (например, C или C ++), такое поведение является нормальным.
Одним из хорошо известных побочных эффектов такого поведения является установка бита set-euid
в сценарий оболочки не имеет смысла (пока используется "обычная" оболочка - например, bash):
Оболочка (например, /bin/sh
) будет запущена с euid
, установленным в другой UID, но программы, запускаемые оболочкой, будут иметь как euid
, так и uid
значение uid
оболочки, которое является UID пользователя, запустившего сценарий ...