Проверка Visudo для всей экосистемы включенных файлов?

Можно ли выполнить проверку visudo sanity для файла в контексте других файлов, включенных в /etc/sudoers.d ?

Сценарий:

Я хочу добавить новый файл в /etc/sudoers.d сам файл верен, и он передает парсер visudo -c .

Однако он содержит строку Cmnd_Alias которая конфликтует с другим файлом в etc/sudoers.d .

Если он перемещен в /etc/sudoers.d он сломает команду sudo с Alias '<name>' already defined near line ошибкой Alias '<name>' already defined near line .

Вопрос:

Есть ли какой-либо метод, который я мог бы использовать, чтобы проверить, не будет ли новый файл нарушать sudo после его размещения в sudoers.d ?

Или есть ли какой-либо метод, чтобы заставить sudo игнорировать / останавливать обработку включенных файлов, если возникла какая-либо ошибка?

Вы можете попробовать проверить соединение /etc/sudoers и предлагаемый новый файл:

 sudo bash -c 'visudo -cf <(cat /etc/sudoers /path/to/to-be-added-file)' 

Поскольку visudo будет анализировать #includedir в /etc/sudoers , все соответствующие файлы в sudoers.d будут проверены.

 $ sudo cat /etc/sudoers.d/foo Cmnd_Alias FOO = /bin/bar $ sudo cat /tmp/bar Cmnd_Alias FOO = /bin/foo $ sudo bash -c 'visudo -cf <(cat /etc/sudoers /tmp/bar)' >>> /dev/fd/63: Alias `FOO' already defined near line 31 <<< parse error in /dev/fd/63 near line 31