Что такое формат файла CF?
.cf-файл - это файл конфигурации времени выполнения для Sendmail, одного из старейших почтовых агентов передачи Unix, изначально написанного Эриком Аллманом в Калифорнийском университете в Беркли в 1983 году и сейчас поддерживаемого компанией Proofpoint. Канонический файл называется sendmail.cf и находится по пути /etc/mail/sendmail.cf на большинстве систем Linux и Unix; вспомогательный файл submit.cf управляет работой в режиме отправки.
Файл представляет собой обычный текст, но использует плотный, запутанный синтаксис, который известен своей сложностью для чтения и ручного написания. Каждая строка начинается с одной прописной буквы, которая указывает тип директивы: D объявляет макросы, C и F определяют классы адресов, O задает параметры, S открывает набор правил, R задает правила перезаписи адресов, а M определяет конфигурацию почтового агента. Правила перезаписи используют операторы $ для сопоставления и преобразования адресов, создавая компактный, но почти нечитаемый формат.
Из-за этой сложности поддерживаемый рабочий процесс заключается в том, чтобы никогда не редактировать .cf напрямую. Вместо этого администраторы поддерживают небольшой, понятный человеку файл макросов .mc и регенерируют sendmail.cf, запуская макропроцессор m4. Строка V в верхней части файла (например, V10/Berkeley) записывает версию Sendmail, которая его создала.
Типичные сгенерированные файлы весят 30-60 КБ, хотя исходный .mc обычно составляет лишь несколько килобайт. Расширение .cf также используется несвязанными форматами, такими как компоненты ColdFusion и файлы политики CFEngine, поэтому контекст имеет значение при встрече с таким файлом.
Безопасность и защита
РИСК: MEDIUMЧтение sendmail.cf безопасно - это обычный текст. Реальный риск заключается в РЕДАКТИРОВАНИИ: sendmail.cf управляет почтовым сервером, поэтому опечатка или плохое правило могут остановить доставку почты, вызвать циклы доставки или - что хуже - превратить сервер в открытый релей, который спамеры используют. Правила: никогда не редактируйте запутанный .cf вручную; редактируйте небольшой sendmail.mc и регенерируйте с помощью m4. Всегда сначала делайте резервную копию рабочего .cf (cp sendmail.cf sendmail.cf.bak), меняйте по одной вещи и тестируйте перед использованием. Будьте особенно осторожны с настройками релея/доступа, скопированными из ненадежных руководств, так как неправильно настроенный релей - это угроза безопасности и репутации.
Детали формата
в двух словах- Компонент ColdFusion / шаблон - Исходные файлы Adobe ColdFusion используют .cfc/.cfm; некоторые настройки используют .cf для включений ColdFusion или компонентов.
- Файл политики CFEngine - Политика управления конфигурацией, написанная на языке CFEngine, загружаемая cf-agent.
- Универсальная конфигурация приложения - Различные программы переиспользуют .cf как обычный текстовый файл настроек со своим собственным синтаксисом ключ/значение.
Программы, открывающие файлы CF
Технические подробности
глубокая спецификация| MIME-тип | text/plain |
| Типичное имя файла | sendmail.cf; также submit.cf для работы в режиме отправки |
| Путь по умолчанию в Linux/Unix | /etc/mail/sendmail.cf |
| Кодировка | ASCII / UTF-8 обычный текст |
| Типичный размер файла | 30-60 КБ (сгенерированный файл); исходный .mc обычно всего несколько килобайт |
| Файловый сигнатурный байт / magic bytes | Нет - обычный текст; определяется по плотным строкам директив из одной буквы (D, S, R, M, O) и операторам перезаписи $ |
| Маркер версии | Строка V в верхней части файла (например, V10/Berkeley) привязывает файл к выпуску Sendmail, который его создал |
| Типы директив | D (макросы), C/F (классы адресов), O (параметры), P (приоритет), S (наборы правил), R (правила перезаписи), M (определения почтового агента) |
| Метод генерации | Компилируется из исходного файла .mc с помощью макропроцессора m4; прямое ручное редактирование настоятельно не рекомендуется |
| Синтаксис правил перезаписи | Правила используют операторы $ (например, $+, $*, $1) как шаблонные токены и группируются в пронумерованные или именованные наборы правил |
| Поведение во время выполнения | Sendmail считывает sendmail.cf при запуске; для вступления изменений в силу требуется сигнал SIGHUP или перезапуск |
| Ассоциированные операционные системы | Linux, BSD, Solaris, AIX, HP-UX; исторически также macOS (который поставлял Sendmail до OS X 10.8) |
| Конфликт имен расширений | Расширение .cf также используется компонентами ColdFusion, файлами политики CFEngine и универсальными конфигурациями приложений - требуется контекст для устранения неоднозначности |
| Вспомогательный файл | submit.cf управляет почтовым демоном отправки Sendmail (порт 587); генерируется вместе с sendmail.cf из submit.mc |
| Выпущен | 1983 (Sendmail, one of the original Unix MTAs); sendmail.cf syntax dates to that era |
| Последняя версия | Tied to Sendmail releases (8.x); sendmail.cf is generated by m4 from a .mc file |
| Спецификация | www.proofpoint.com |
Конвертации CF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах CF.