Настройка сервера шрифтов для работы в сети

We use cookies. Read the Privacy and Cookie Policy

Настройка сервера шрифтов для работы в сети

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

• Запустить второй экземпляр сервера шрифтов и обеспечить доступ к нему. Если вы будете использовать данный подход, вам придется модифицировать сценарий запуска или обеспечить выполнение второго сервера другим способом. Чтобы два экземпляра сервера использовали различные конфигурационные файлы, можно при вызове xfs указать опцию -config /путь_к_конфигурационному_файлу.

• Модифицировать конфигурационный файл сервера шрифтов и разрешить в нем доступ с других компьютеров. Такой способ более эффективен, но он непригоден в тех случаях, когда вам необходимо предоставлять локальным и удаленным клиентам различные наборы шрифтов.

На заметку

Сервер шрифтов можно запустить даже на компьютере, на котором отсутствует система X Window. Чтобы это стало возможным, вам придется установить все программы, которые нужны для работы сервера. Несмотря на то что эти программы составляют основную часть X Window, X-сервер на этом компьютере запускать не обязательно.

Существуют два способа, позволяющие ограничить доступ к серверу шрифтов.

Запрет установления TCP-соединения. В системе Red Hat 7.2 в файле/etc/X11/fs/config содержится строка no-listen = tcp, которая запрещает серверу принимать запросы на установление TCP-соединения. Если эта строка отсутствует, сервер принимает обращения от клиентов через порт 7100. Таким образом, чтобы обеспечить доступ к серверу, надо закомментировать данную строку, завершить работу сервера и запустить его снова. В системе Red Hat для остановки и запуска сервера может быть использован сценарий SysV с именем xfs.

Использование порта -1. В системе Mandrake 8.1 сервер шрифтов по умолчанию настраивается для приема обращений через порт с номером -1. Такая настройка запрещает установление сетевых соединений с другими компьютерами. Для того чтобы изменить конфигурацию сервера, надо отредактировать сценарий запуска (обычно он содержится в файле /etc/rc.d/init.d/xfs) и изменить в нем номер порта. Найдите строку, которая начинается с daemon xfs -port -1, и замените число -1 на 7100 или на другой номер порта, который вы собираетесь использовать. Вам также надо отредактировать файл /etc/XF86Config, содержащийся в каталоге /etc/X11 (в зависимости от используемого X-сервера этот файл может также называться XF86Config или XF86Config-4), и указать в нем, что обращение к серверу шрифтов должно осуществляться с использованием другого номера порта. Найдите запись FontPath, ссылающуюся на unix/:-1, и замените -1 на 7100 или другой номер порта, который вы указали в сценарии запуска xfs. После этого вам придется завершить работу xfs и снова запустить его, а также перезапустить X-сервер (для этого можно использовать кнопку Restart X Server в окне регистрации Mandrake).

Внимание

Изменение конфигурации работающего сервера шрифтов представляет собой достаточно сложную задачу. Если сервер станет недоступным, прикладные программы, использующие шрифты, могут зависнуть. Поэтому лучше всего переконфигурировать сервер шрифтов, зарегистрировавшись в текстовом режиме. Если передать сценарию SysV, используемому для запуска в системах Red Hat и Mandrake, опцию restart, изменения конфигурации не будут учтены. Поэтому вам необходимо остановить работу сервера, указав опцию stop, а затем снова запустить его с помощью опции start.

После того как вы настроите сервер шрифтов для работы в сети, вам следует изменить конфигурацию X-серверов и указать им на то, что за получением шрифтов они должны обращаться к установленному вами серверу шрифтов. Чтобы сделать это, надо включить в файл XF86Config на каждом из компьютеров новую запись FontPath. Примером такой записи может служить рассмотренная ранее запись FontPath, содержащая ключевое слово tcp. Очевидно, что в ней должны быть указаны имя компьютера, на котором выполняется сервер шрифтов, и номер порта, используемый этим сервером. В зависимости от набора шрифтов, установленных на каждом компьютере, вам, возможно, удастся удалить некоторые записи FontPath на клиентских системах, но при этом возрастет загрузка сервера шрифтов. Чтобы уменьшить число запросов к серверу шрифтов, запись FontPath, ссылающуюся на этот сервер, надо указывать после остальных записей данного типа. Это приведет к тому, что клиенты по возможности будут использовать файлы шрифтов, содержащиеся на локальных дисках.

Внимание

Если вы сконфигурируете систему так, что она сможет использовать только шрифты, предоставляемые внешним сервером, система станет неработоспособной при отсутствии доступа к серверу шрифтов. Поэтому желательно оставить записи FontPath, установленные при инсталляции системы, без изменений и добавить к ним запись, указывающую на сервер шрифтов. (В составе некоторых дистрибутивных пакетов поставляется огромное количество шрифтов. Возможно, вы захотите перенести некоторые из них на сервер. Однако основные шрифты, используемые системой X Window, лучше оставить на месте.)

Используя сервер шрифтов, нельзя упускать из виду вопросы защиты. Если сервер шрифтов работает в локальной сети, не подключенной к Internet, о безопасности системы можно не слишком беспокоиться, особенно если вы полностью контролируете все компьютеры в сети. Если же компьютер, на котором выполняется данный сервер, доступен из Internet, нельзя полностью исключать возможность незаконного проникновения в систему посредством сервера шрифтов. Сервер шрифтов — не очень сложная программа, и при обращении к нему пароль не указывается. Как и в любом сервере, в сервере шрифтов могут быть обнаружены ошибки, допускающие возможность взлома системы. Поэтому сеть, в которой работает сервер шрифтов, рекомендуется изолировать от остальной части Internet с помощью выделенного брандмауэра. Брандмауэр следует настроить так, чтобы через порт, используемый сервером, могли обращаться только локальные машины. Вопросы конфигурирования iptables будут рассматриваться в главе 25.