Почему sudo может работать в fakeroot?

Почему sudo может работать в fakeroot?

Возьмем следующий фрагмент:

fakeroot -- sudo cat /etc/shadow

Это выведет содержимое /etc/shadow, но разве запуск sudo в fakeroot не разрушит весь его смысл, или я что-то упускаю?

решение1

FakeRoot Создает поддельную среду root, обычно для того, чтобы устранить необходимость получения прав root для сборки пакета.

Fakeroot запускает команду в среде, где у него, по-видимому, есть привилегии root для манипулирования файлами.

Поэтому sudoстановится нулевой операцией, поскольку она полагает, что у вызывающего уже есть права root. Поэтому пароль не потребуется.

The Руководство Sudoers есть исключение из правила:

Если sudo запущено пользователем root и установлена ​​переменная окружения SUDO_USER, политика sudoers будет использовать это значение для определения того, кто является фактическим пользователем. Это может использоваться пользователем для регистрации команд через sudo, даже если была вызвана оболочка root.

Если sudoвызывается с параметрами, они будут иметь обычный эффект.

Связанный контент