Работу с 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
, в противном случае принтеры будут периодически исчезать из локального списка просмотра.
Читать дальше