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, и с компьютера, на котором установлен сервер; обращения с других узлов должны отвергаться. Сделать это можно с помощью следующих записей:
ACCEPT SERVICE=X SERVER
REJECT SERVICE=X NOT REMOTEIP=172.22.0.0/16