В Linux мы аутентифицируем пользователей по AD. Пользователи AD не указаны в / etc / passwd.
Мы собираемся развернуть решение NFS, чтобы смонтировать дополнительное пространство для каждой группы пользователей.
Если пользователь (A) с привилегиями sudo su переходит в режим root, то он может выдать себя за пользователя (B) только с помощью su user (B) и перехода к NFS.
Есть ли способ запретить root для пользователя su, если пользователь не указан в / etc / passwd?
Если вы собираетесь предоставить пользователю A привилегии root, то нет, вы не можете запретить им что-либо делать (независимо от того, какие блоки вы устанавливаете, root всегда может их обойти; за очень немногими исключениями). Вам следует добавить пользователя A в sudoers и жестко настроить, какие программы они могут или не могут запускать.
Не отвечает на ваш прямой вопрос, но я думаю, что ваша проблема связана с NFS, а не с sudo / su - у вас будет эта проблема каждый раз, когда вы используете NFSv3, поскольку он полагается на UID для обеспечения прав доступа.
Даже если вы каким-то образом помешали пользователям переключаться на root и обратно на другой UID, злоумышленник мог просто подключить свое собственное устройство или загрузить другую ОС вместо вашей специально настроенной системы и преодолеть защиту.
Вы рассматривали возможность использования NFSv4? Он использует Kerberos для проверки подлинности запросов на монтирование и обеспечения прав доступа, поэтому он не будет уязвим для этого.
Я думаю, тебе стоит переосмыслить свою проблему. Я не знаю, как добиться того, чего вы хотите, но ... если у вас есть пользователь с sudo ALL привилегиями, которым вы не полностью доверяете, вам следует ограничить эти привилегии.