Intereting Posts
sssd или ldap.conf не работают без bindDN и пароля в RHEL 5, но работают в RHEL 6 и 7. Почему? настроить двустороннюю синхронизацию NFS Как избавиться от приглашения окна двойного цикла в XFCE Как я могу узнать, какие приложения будут «работать» в моей среде рабочего стола (Gnome 3)? Как создать img-образ, достаточно большой для хранения одного конкретного файла? Чтение / обработка данных столбца для n-го повторения Браслетная раскладка клавиатуры в CentOS 6.5 Почему я могу написать параметр модуля с разрешениями READ ONLY? las pagination на MontaVista с BusyBox Автоматизация монтирования без пароля linux для монтирования удаленной файловой системы cifs Все USB-порты обнаружены как USB 1.0, а не USB 2.0 Не удается получить vga-passthrough, работая с xen-4.5 привязка к удаленному IP-адресу Диспетчер отображения на нескольких страницах SFTP: предоставить пользователю доступ к папке вне дома

Почему директивы #include и #includeir в sudo префиксны с символом фунта (#)

При настройке среды sudo я заметил, что директива include имеет префикс с символом фунта (#).

Solaris показывает это как:

 ## 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 и #includeir.

А также:

Другие специальные символы и зарезервированные слова Значок фунта (`# ') используется для указания комментария (если он не является частью директивы #include или если он не встречается в контексте имени пользователя и за ним следуют одна или несколько цифр, в этом случае он рассматривается как uid). И символ комментария, и любой текст после него, вплоть до конца строки, игнорируются.

Кто-нибудь знает, почему был сделан выбор, чтобы использовать символ фунта в директивах #include и #includedir ?

В качестве побочного примечания: я часто использую что-то вроде egrep -v '^#|^$' configfile для получения нестандартных / активных настроенных параметров, и это явно не работает для файла sudoers .

#include был добавлен в 2004 году . Он должен быть совместим с тем, что уже было. Я не думаю, что include /path/to/file был бы неоднозначным, но, возможно, было бы немного сложнее разобрать, потому что анализатор должен был бы различать include /path/to/file (include директива) из include = foo (разрешить пользователю include команду foo ).

Но я думаю, что в основном причина заключалась в том, чтобы выглядеть как препроцессор C, который руководство явно цитирует как вдохновение.