Новые книги

Анна Левченко – создатель Всероссийского центра мониторинга опасного и запрещенного законом РФ контента, руководитель движения «Безопасное детство», помощник уполномоченного по правам ребенка при Президенте РФ, инициатор сетевого движения «Сдай педофила!».

Интернет и социальные сети давно прочно вошли в нашу жизнь. Сегодня практически у каждого ребенка есть аккаунты в соцсетях. Но бесконтрольный доступ к интернету для несовершеннолетних может обернуться трагедией. Каждому третьему ребенку в России приходилось сталкиваться с педофилами в Сети. Как защитить ребенка от угроз и что делать, если все-таки предотвратить трагедию не удалось? Что нужно сделать в первую очередь? Куда бежать, кому жаловаться? Ответы на эти вопросы вы найдете на страницах моей книги.
Представлены теоретико-концептуальные положения инновационного переоснащения факторов воспроизводства высокотехнологичных корпораций России. Предложены практические рекомендации по совершенствованию системы управления инновационными проектами и программами высокотехнологичных корпораций России в условиях глобальной конкуренции. Отдельные разделы посвящены анализу теорий инноваций и концепций инновационного развития. Определены базовые тенденции и на их основе закономерности перехода экономики на инновационный путь развития. Установлены базовые недостатки системы нормативно-правового регулирования инновационных преобразований факторов воспроизводства российской экономики. Разработаны стратегические ориентиры, уточняющие перспективы активизации системы управления инновационными программами в высокотехнологичных компаниях России.

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

Testing Your Configuration



Тестирование настроек

Команда m4 обрабатывает файлы макроопределений согласно собственным правилам синтаксиса без того, чтобы проверить синтаксис sendmail. По этой причине очень важно полностью проверить Вашу конфигурацию. Пакет sendmail обеспечивает относительно простой путь для этой цели.

sendmail поддерживает "режим адресного теста" (address test mode), который позволяет проверять конфигурацию и идентифицировать любые ошибки. В этом режиме работы sendmail вызывается из командной строки и запрашивает определения правил и почтовые адреса назначения. Затем sendmail обрабатывает адреса, используя определенные правила и показывая вывод каждого правила. Чтобы перейти в этот режим, вызовите sendmail с указанием параметра -bt:

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>

Заданный по умолчанию файл конфигурации /etc/mail/sendmail.cf. Вы можете определять альтернативу параметром -C. Чтобы проверить конфигурацию, надо выбрать ряд адресов, чтобы обработать их по правилам доставки почты. Для иллюстрации используем более сложную настройку для UUCP (пример 18-2).

Сначала проверим, что sendmail способен доставить почте локальным пользователям в системе. В этих тестах мы ожидаем, что все адреса будут переписаны для локального почтового агента этой машины:

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 isaac
rewrite: ruleset   3   input: isaac
rewrite: ruleset  96   input: isaac
rewrite: ruleset  96 returns: isaac
rewrite: ruleset   3 returns: isaac
rewrite: ruleset   0   input: isaac
rewrite: ruleset 199   input: isaac
rewrite: ruleset 199 returns: isaac
rewrite: ruleset  98   input: isaac
rewrite: ruleset  98 returns: isaac
rewrite: ruleset 198   input: isaac
rewrite: ruleset 198 returns: $# local $: isaac
rewrite: ruleset   0 returns: $# local $: isaac

Этот вывод показывает нам, как sendmail обрабатывает почту, адресованную isaac на этой системе. Каждая строка показывает информацию, переданную правилу, или результат, полученный из его обработки. Мы сообщили sendmail, что надо использовать наборы правил 3 и 0, чтобы обработать адрес. По умолчанию вызывается именно набор 0, поэтому набор 3 был вызван в принудительном порядке. Последняя строка показывает, что набор 0 направляет почту пользователю isaac.

Теперь проверим почту, адресованную по SMTP адресу [email protected]. Должен получиться тот же самый результат, что и в предыдущем примере:

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 [email protected]
rewrite: ruleset   3   input: isaac @ vstout . vbrew . com
rewrite: ruleset  96   input: isaac < @ vstout . vbrew . com >
rewrite: ruleset  96 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset   3 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset   0   input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 199   input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 199 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset  98   input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset  98 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 198   input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 198 returns: $# local $: isaac
rewrite: ruleset   0 returns: $# local $: isaac

Тест прошел успешно. Теперь проверим хождение почты на тот же адрес, но в UUCP-формате vstout!isaac.

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 vstout!isaac
rewrite: ruleset   3   input: vstout ! isaac
rewrite: ruleset  96   input: isaac < @ vstout . UUCP >
rewrite: ruleset  96 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset   3 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset   0   input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 199   input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 199 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset  98   input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset  98 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 198   input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 198 returns: $# local $: isaac
rewrite: ruleset   0 returns: $# local $: isaac

Тоже работает. Эти тесты подтверждают, что любая полученная почта для локальных пользователей на этой машине будет правильно доставлена, независимо от того, как форматируется адрес. Если вы определили любые псевдонимы для машины, например, виртуальные хосты, Вы должны повторить эти тесты для каждого из имен, соответствующих данной машине.

Теперь проверим хождение почты на другие хосты в домене vbrew.com по протоколу SMTP:

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 [email protected]
rewrite: ruleset   3   input: isaac @ vale . vbrew . com
rewrite: ruleset  96   input: isaac < @ vale . vbrew . com >
rewrite: ruleset  96 returns: isaac < @ vale . vbrew . com . >
rewrite: ruleset   3 returns: isaac < @ vale . vbrew . com . >
rewrite: ruleset   0   input: isaac < @ vale . vbrew . com . >
rewrite: ruleset 199   input: isaac < @ vale . vbrew . com . >
rewrite: ruleset 199 returns: isaac < @ vale . vbrew . com . >
rewrite: ruleset  98   input: isaac < @ vale . vbrew . com . >
rewrite: ruleset  98 returns: isaac < @ vale . vbrew . com . >
rewrite: ruleset 198   input: isaac < @ vale . vbrew . com . >
rewrite: ruleset 198 returns: $# smtp $@ vale . vbrew . com . /
    $: isaac < @ vale . vbrew . com . >
rewrite: ruleset   0 returns: $# smtp $@ vale . vbrew . com . /
    $: isaac < @ vale . vbrew . com . >

Письмо по SMTP было перенаправлено на хост vale.vbrew.com пользователю isaac. Этот тест подтверждает, что определение LOCAL_NET_CONFIG работает правильно. Для хождения почты таким способом, имя машины должно быть корректно связано с IP-адресом через файл /etc/hosts или сервис DNS. Если адрес найден не будет, произойдет следующее:

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 [email protected]
rewrite: ruleset   3   input: isaac @ vXXXX . vbrew . com
rewrite: ruleset  96   input: isaac < @ vXXXX . vbrew . com >
vXXXX.vbrew.com: Name server timeout
rewrite: ruleset  96 returns: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset   3 returns: isaac < @ vXXXX . vbrew . com >
== Ruleset 3,0 (3) status 75
rewrite: ruleset   0   input: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset 199   input: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset 199 returns: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset  98   input: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset  98 returns: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset 198   input: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset  95   input: < uucp-new : moria > isaac </
    @ vXXXX . vbrew . com >
rewrite: ruleset  95 returns: $# uucp-new $@ moria $: isaac </
    @ vXXXX . vbrew . com >
rewrite: ruleset 198 returns: $# uucp-new $@ moria $: isaac </
    @ vXXXX . vbrew . com >
rewrite: ruleset   0 returns: $# uucp-new $@ moria $: isaac </
    @ vXXXX . vbrew . com >

Здесь результат совсем иной. Сначала набор 3 вернул сообщение об ошибке, показывающее, что имя хоста не может быть корректно преобразовано в адрес. Теперь интеллектуальный хост должен обработать любую почту, которая является недоставляемой, а данное письмо к ней как раз относится. Почта попадет на интеллекуальный хост moria через транспорт uucp-new. Этот хост может быть информирован лучше и знать, что делать с такой почтой.

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

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 [email protected]
rewrite: ruleset   3   input: isaac @ linux . org . au
rewrite: ruleset  96   input: isaac < @ linux . org . au >
rewrite: ruleset  96 returns: isaac < @ linux . org . au . >
rewrite: ruleset   3 returns: isaac < @ linux . org . au . >
rewrite: ruleset   0   input: isaac < @ linux . org . au . >
rewrite: ruleset 199   input: isaac < @ linux . org . au . >
rewrite: ruleset 199 returns: isaac < @ linux . org . au . >
rewrite: ruleset  98   input: isaac < @ linux . org . au . >
rewrite: ruleset  98 returns: isaac < @ linux . org . au . >
rewrite: ruleset 198   input: isaac < @ linux . org . au . >
rewrite: ruleset  95   input: < uucp-new : moria > isaac </
    @ linux . org . au . >
rewrite: ruleset  95 returns: $# uucp-new $@ moria $: isaac </
    @ linux . org . au . >
rewrite: ruleset 198 returns: $# uucp-new $@ moria $: isaac </
    @ linux . org . au . >
rewrite: ruleset   0 returns: $# uucp-new $@ moria $: isaac </
    @ linux . org . au . >

Результаты этого теста указывают, что имя хоста преобразовано в адрес, но сообщение все равно пойдет на интеллектуальный хост. Это доказывает, что определение LOCAL_NET_CONFIG работает правильно.