При настройке sudo
среды я заметил, что директива include имеет префикс pound (#).
Солярис показывает это как:
## Read drop-in files from /etc/sudoers.d
## (the '#' here does not indicate a comment)
#includedir /etc/sudoers.d
В руководстве (как для Linux, так и для Solaris) говорится:
Включение других файлов изнутри sudoers Можно включить другие файлы sudoers из файла sudoers, который в настоящее время анализируется, используя директивы #include и #includedir.
А также:
Другие специальные символы и зарезервированные слова Знак фунта (`# ') используется для обозначения комментария (если только он не является частью директивы #include или если он не встречается в контексте имени пользователя и сопровождается одной или несколькими цифрами, в этом случае это рассматривается как UID). И символ комментария, и любой текст после него, вплоть до конца строки, игнорируются.
Кто-нибудь знает, почему был сделан выбор использовать символ решетки в директивах #include
and #includedir
?
В качестве примечания: я часто использую что-то вроде egrep -v '^#|^$' configfile
получения нестандартных / активных настроенных настроек, и это, очевидно, не работает для sudoers
файла.
sudoers
файл, я подумал,include
что это директива и закомментирована#include
директива . Правило малейшего удивления нарушается жестко. На мой взгляд это плохой дизайн.