Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:

• 

. Указывает на файл устройства, к которому подключен принтер. Например, выражение
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
.

Редактирование файла

/etc/lpd.perms

Файл

/etc/lpd.perms
управляет доступом к системе печати в целом. Файлы
lpd.perms
могут находиться также в каталогах спулинга для отдельных очередей (
/var/spool/lpd/имя_очереди
). Если такие файлы присутствуют, они осуществляют контроль за конкретными очередями, в то время как в файле
/etc/lpd.perms
указываются глобальные опции.

Независимо от расположения файла

lpd.perms
, в нем содержатся пять типов записей. Комментарии начинаются с символа
#
. В отличие от файла
/etc/hosts.lpd
, вы можете включать комментарии в строку после основной команды. Остальные четыре типа записей приведены ниже.

DEFAULT ACCEPT

DEFAULT REJECT

ACCEPT [ключ=значение[, значение]* ]*

REJECT [ключ = значение [, значение]* ]*

Первые два типа записей задают политику системы по умолчанию, т. е. общие правила по предоставлению или запрету доступа. В большинстве пакетов LPRng, поставляемых в составе дистрибутивных версий Linux, в файле

/etc/lpd.perms
содержится строка
DEFAULT ACCEPT
. Для сравнения, пакеты BSD LPD по умолчанию разрешают доступ только для узла
localhost
, или 127.0.0.1 (т. е. для компьютера, на котором выполняется данное программное обеспечение). Таким образом, при настройке системы печати LPRng желательно уточнить политику доступа, используя для этого опции
ACCEPT
и
REJECT
.

Опции

ACCEPT
и
REJECT
задают типы обращений, которые сервер должен соответственно принимать или отвергать. За именем опции следует один из ключей, указанных в столбце Key табл. 9.2, и значения, заданные в остальных столбцах этой таблицы. Столбец Connect определяет способность устанавливать соединения. Столбцы Job Spool и Job Print указывают на возможность передавать задание спулеру и выводить их на печать. В столбцах
lpq
,
lprm
и
lрс
указано, могут ли выполняться задачи, которыми в обычных условиях управляют утилиты с этими именами. В большинстве случаев наличие одной из этих возможностей означает наличие их всех (по крайней мере, тех, которые имеют смысл в конкретном контексте). Некоторые значения несовместимы с определенными ключами (они отмечены в табл. 9.2 символом —). Для того чтобы изменить значение на обратное, надо указать перед ним
NOT
. IP-адрес может определять всю сеть, после него надо указать символ
/
и задать маску подсети.

Таблица 9.2. Ключи и их значения, используемые при формировании файла

lpd.perms

Key Connect Job Spool Job Print lpq lprm lpc
SERVICE
X R P Q M С или S
USER
Имя пользователя Имя пользователя Имя
пользователя
Имя пользователя Имя пользователя
HOST
Удаленный узел Имя узла Имя узла Имя узла Имя узла Имя узла
GROUP
Имя пользователя Имя пользователя Имя пользователя Имя пользователя Имя пользователя
IP
IP-адрес удаленного узла IP-адрес узла IP-адрес узла IP-адрес удаленного узла IP-адрес узла IP-адрес узла
PORT
Номер порта Номер порта Номер порта Номер порта Номер порта
REMOTEUSER
Имя пользователя Имя пользователя Имя пользователя Имя пользователя Имя пользователя
REMOTEHOST
Удаленный узел Удаленный узел Узел Удаленный узел Удаленный узел Удаленный узел
REMOTEGROUP
Имя пользователя Имя пользователя Имя пользователя Имя пользователя Имя пользователя
REMOTEIP
IP-адрес удаленного узла IP-адрес удаленного узла IP-адрес узла IP-адрес удаленного узла IP-адрес удаленного узла IP-адрес удаленного узла
CONTROLLINE
Шаблон Шаблон Шаблон Шаблон Шаблон
PRINTER
Имя принтера Имя принтера Имя принтера Имя принтера Имя принтера
FORWARD
SAMEHOST
SAMEUSER
SERVER

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

/etc/lpd.perms
:

ACCEPT SERVICE=M SAMEHOST SAMEUSER

ACCEPT SERVICE=M SERVER REMOTEUSER=root

REJECT SERVICE=M

В этих трех строках указано, кто может использовать утилиту

lprm
для удаления заданий. В каждой строке содержится опция
SERVICE=M
, которая означает, что строка соответствует функциям
lprm
. Это соответствие можно проследить по строке
SERVICE
табл. 9.2. В первой из указанных трех строк содержатся также опции
SAMEHOST
и
SAMEUSER
, которые указывают на то, что команда принимается только в том случае, если она передана с того же компьютера, что и задание на печать, и от того же пользователя, который является владельцем этого задания. В состав второй строки включены опции
SERVER
и
REMOTEUSER=root
. Они означают, что пользователь, зарегистрированный на сервере как
root
, имеет право удалять задания. Последняя строка запрещает обработку прочих запросов, поступающих от
lprm
. (LPRng просматривает файл
lpd.perms
до тех пор, пока не будет найдена опция, которая соответствовала бы поступившей команде. В данном случае две записи
ACCEPT SERVICE=M
предшествуют записи
REJECT SERVICE=M
, поэтому опции
ACCEPT
имеют преимущество перед опцией
REJECT
.)

Как было сказано ранее, во многих случаях система LPRng по умолчанию настраивается так, чтобы она принимала обращения с любого узла. Подобная конфигурация недопустима с точки зрения безопасности, так как любой внешний пользователь может запустить задание на печать, в результате чего будут расходоваться бумага и ресурсы принтера. Кроме того, при обнаружении недостатков в защите LPRng неограниченный доступ к этой системе предоставит дополнительную возможность для взлома принтера. Исходя из этих соображений возможности пользователей по обращению к серверу печати необходимо ограничить. Сделать это можно с помощью брандмауэра (вопросы настройки брандмауэра будут рассмотрены в главе 25). Кроме того, я настоятельно рекомендую вам принять дополнительные меры по защите самой системы LPRng. Предположим, что вы настраиваете сервер печати, который должен обрабатывать задания, переданные из сети 172.22.0.0/16, и с компьютера, на котором установлен сервер; обращения с других узлов должны отвергаться. Сделать это можно с помощью следующих записей:

Поделиться с друзьями: