указан список компьютеров, которым разрешен доступ к локальной очереди печати. Для идентификации компьютеров могут использоваться доменное имя, IP-адрес или имя группы NIS. В последнем случае перед именем группы указывается символ @
, который, в свою очередь, может предваряться символом +
. Символ +
означает, что сервер должен принимать любое задание на печать, что небезопасно для системы. Если перед идентификатором узла указан символ -
, это означает, что доступ для этого узла запрещен. Пример файла /etc/hosts.lpd
приведен в листинге 9.1. При указании компьютера gingko
предполагается, что он принадлежит тому же домену, что и сервер. Выражение +@group1
предоставляет доступ всем компьютерам в NIS-группе group1
. Для компьютера oak.threeroomco.com
доступ запрещен, даже если он принадлежит группе group1
.
Листинг 9.1. Пример файла /etc/hosts.lpd
gingko
birch.threeroomco.com
192.168.1.7
+@group1
-oak.threeroomco.com
В файле /etc/hosts.lpd
, как и в большинстве других конфигурационных файлов, символ #
является признаком комментариев, однако не следует располагать комментарии за определением клиента; лучше поместить их в предыдущей или последующей строке.
Внимание
Аналогично /etc/hosts.lpd
можно использовать файл /etc/hosts.equiv
. Файл /etc/hosts.equiv
применяется не только для решения задач, связанных с печатью; он также предоставляет доступ для клиентов, которые используют rlogin
и другие протоколы. Из соображений безопасности этот файл не рекомендуется; лучше настроить каждый сервер индивидуально. Если этот файл присутствует в системе, желательно удалить его и установить требуемую конфигурацию с помощью других файлов.
Указание сервера на клиенте BSD LPD
В файле /etc/printcap
содержатся определения принтеров для системы BSD LPD (printcap
сокращенно означает printer capabilities — возможности принтеров). В этом файле содержатся записи для каждой очереди печати в системе, независимо от того, является ли очередь локальной (обслуживающей принтеры, подключенные через параллельный, последовательный или USB- порт) или сетевой (обслуживающей другие LPD-принтеры и даже принтеры, доступ к которым осуществляется посредством SMB/CIFS, AppleTalk или других протоколов). Определение каждого принтера располагается в одной строке, а опции разделяются символом :
. На практике определение принтера занимает несколько строк; все строки, кроме последней, заканчиваются символом
, который означает, что следующая строка является продолжением предыдущей. Размещенные таким образом данные более удобны для чтения.
Большинство деталей настройки принтеров с помощью файла /etc/printcap
не рассматриваются в данной книге. Как было сказано в начале данной главы, необходимую информацию по установке принтеров, включая вопросы использования фильтров печати и Ghostscript, вы можете получить, прочитав документацию на операционную систему, или узнать из книг, представляющих собой введение в систему Linux. Однако некоторые из опций, непосредственно использующиеся при конфигурации сетевого клиента печати, требуют отдельного рассмотрения. Эти опции перечислены ниже.
• lр
. Указывает на файл устройства, к которому подключен принтер. Например, выражение lp=/dev/lp0
сообщает системе о том, что для вывода на принтер должно быть использовано устройство /dev/lp0
(первый параллельный порт). Если вы настраиваете сетевой принтер, вам следует удалить эту опцию или не указывать после знака равенства никакого значения (например, lр=
).
• rm
. Определяет имя сервера печати LPD. Например, если для данной очереди сервером печати является oak
, вам надо включить в определение очереди опцию rm=oak
. Заметьте, что для организации печати с помощью удаленной очереди этого недостаточно; данная опция лишь идентифицирует компьютер, на котором расположена очередь. Для определения удаленного компьютера можно использовать имя узла (с указанием или без указания доменного имени) или IP-адрес.
• rp
. Действие опции rp
начинается там, где заканчивается действие опции rm
. Опция rp
задает имя удаленной очереди печати. Например, если очередь на сервере печати называется inkjet
, в файл /etc/printcap
на клиентском компьютере надо включить выражение rp=inkjet
. Заметьте, что имя удаленной очереди не обязательно должно совпадать с именем локальной очереди. Допустима, например, ситуация, когда принтер inkjet
сервера будет называться на стороне клиента lр1
или canon
. Рекомендуется во избежание недоразумений синхронизировать имена; в особенности это важно в больших сетях.
Таким образом, имея локальную очередь печати, вы можете преобразовать ее в сетевую очередь, заменив опцию lp
опциями rm
и rp
. В этом случае вместо вывода данных на локальное устройство компьютер будет передавать задания на узел, заданный с помощью опции rm
, в очередь, которая указана как значение опции rp
. На сервере в описании очереди, вероятнее всего, будет присутствовать опция lp
, но вместо нее могут быть включены опции rm
и rp
. Следует заметить, что такая конфигурация нежелательна, в этом случае лучше непосредственно указать в клиентской системе реальный сервер печати. (Исключением являются ситуации, когда средства обработки данных, например Ghostscript, выносятся с сервера печати на другой компьютер либо когда конфигурация сети не обеспечивает непосредственное взаимодействие клиента и сервера.)
Если сервер печати не поддерживает LPD-соединения, необходимо использовать более сложную конфигурацию. Например, сервер может быть настроен для обработки заданий на печать, передаваемых средствами SMB/CIFS или AppleTalk. В таком случае вам надо создать сценарий, который обрабатывал бы задания на печать, и вызывать его с помощью опции if
. Примеры подобных решений приведены в документации на Samba и Netatalk.
Настройка сервера LPRng
С точки зрения пользователя система печати LPRng работает так же, как и BSD LPD. Это вполне закономерно, так как средства LPRng были разработаны для замены BSD LPD. LPRng использует файл /etc/printcap
, в котором содержится такая же информация, как и в одноименном файле BSD LPD. Однако средства контроля доступа к серверу печати в LPRng реализованы совершенно по-другому. Вместо списка клиентов, которым разрешен доступ, в LPRng используется гораздо более сложная система печати, для управления которой служит файл /etc/lpd.perms
.