Работу с CUPS усложняет одна особенность этой системы: конфигурационные файлы существенно отличаются от файлов, используемых в системах BSD LPD и LPRng. Даже если вы хорошо знакомы с данными системами, это не поможет вам при работе с CUPS; средства ее настройки придется изучать специально. Если вы предпочитаете работать с инструментами, предоставляющими графический интерфейс, можете воспользоваться KUPS ( http://cups.sourceforge.net/kups/) и ESP Print Pro ( http://www.easysw.com/printpro/). CUPS также можно настраивать, пользуясь Web-броузером, для этого надо запустить броузер на локальном компьютере и обратиться по адресу http://localhost:631.
На заметку
Подробное описание конфигурации системы печати CUPS выходит за рамки данной книги. Предполагается, что вы уже умеете выполнять действия, необходимые для реализации минимальных возможностей локальной очереди. В данном разделе рассматриваются только опции, необходимые для настройки сетевых средств печати. Дополнительная информация о работе системы CUPS находится по адресу http://www.cups.org/sam.html.
Редактирование файла /etc/cups/cupsd.conf
Работой сервера CUPS управляет файл /etc/cups/cupsd.conf. Поскольку система CUPS позаимствовала многие средства сервера HTTP, структура ее конфигурационного файла напоминает соответствующий файл Apache (он будет рассмотрен в главе 20). При работе CUPS также применяются другие конфигурационные файлы, в частности /etc/cups/printers.confи /etc/cups/classes.conf, которые описывают соответственно принтеры и группы принтеров. Для редактирования обоих файлов используется инструмент lpadmin, а данные в файле cupsd.confрекомендуется подготавливать вручную.
Файл cupsd.confсодержит набор директив, с помощью которых задаются характеристики сервера, например, определяется имя сервера и расположение файлов протоколов. Ниже описаны наиболее важные директивы, определяющие работу сетевого сервера печати.
• Allow. За этой директивой следуют ключевое слово from, идентификатор Allили None, имя узла (в котором может содержаться звездочка, задающая групповую операцию), частичный или полный IP-адрес или IP-адрес с указанием маски сети. Независимо от формы записи, значение данной директивы определяют компьютеры, которые имеют право доступа к серверу. Чтобы разрешить доступ для нескольких компьютеров или групп компьютеров, вы можете использовать несколько директив Allow. Данная директива должна находиться в составе директивы Location.
• AuthClass. Директива AuthClassможет принимать значения Anonymous(значение по умолчанию), User, Systemи Group. Anonymousозначает, что аутентификация клиентов не должна выполняться; в этом случае система печати работает подобно системе BSD LPD. Остальные три значения требуют от клиента указания пользовательского имени и пароля. Значение Systemтребует, чтобы пользователь был членом группы sys, заданной с помощью директивы SystemGroup. Если указано значение Group, пользователь должен принадлежать группе, имя которой определено посредством директивы AuthGroupName.
• BrowseAddress. Средства просмотра принтеров CUPS лучше всего работают в том случае, если информация о принтерах, доступных в сети, собрана на центральном сервере. Этот сервер можно задать с помощью директивы BrowseAddress. В качестве ее значения задается доменное имя или IP-адрес, а также номер порта, например 192.168.23.34:631. (Номер порта 631 чаще всего используется для выполнения различных операций с системой CUPS.) По умолчанию принимается значение 255.255.255.255:631, т.е. широковещательный адрес локальной сети и порт 631.
• BrowseAllow. Для того чтобы клиент мог выполнять просмотр принтеров, сервер должен принимать от него специальные пакеты. Директива BrowseAllow(за ней следуют ключевое слово fromи частичное или полное доменное имя либо адрес узла) задает компьютеры, с которых сервер должен принимать данные пакеты. По умолчанию прием пакетов разрешен со всех компьютеров.
• BrowseDeny. Данная директива выполняет действие, противоположное директиве BrowseAllow. С ее помощью формируется "черный список" клиентов или сетей.
• BrowseOrder. Если вы используете и BrowseAllow, и BrowseDeny, директива BrowseOrderпозволяет определить порядок применения указанных директив. Она может быть задана в виде BrowseOrder Allow, Denyили BrowseOrder Deny, Allow.
• BrowseInterval. Данная директива задает время в секундах между запросами на просмотр. Значение 0 запрещает передачу запросов. Значение данной опции должно быть меньше, чем значение опции BrowseTimeout, в противном случае принтеры будут периодически исчезать из локального списка просмотра.
Читать дальше