Книга: Сетевые средства Linux
Редактирование файла /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, и с компьютера, на котором установлен сервер; обращения с других узлов должны отвергаться. Сделать это можно с помощью следующих записей:
ACCEPT SERVICE=X SERVER
REJECT SERVICE=X NOT REMOTEIP=172.22.0.0/16
Данные строки ограничивают способность устанавливать соединения с сервером, а следовательно, возможность передавать задания на печать и выполнять прочие действия. Первая строка разрешает устанавливать соединения при обращении с сервера (эти обращения поступают с интерфейса, который имеет адрес 127.0.0.1, поэтому использование REMOTEIP=127.0.0.1
вместо SERVER
привело бы к аналогичному результату). При отсутствии этой строки следующая запись блокировала бы обращения с локального компьютера, что в данном случае нежелательно. Вторая строка отвергает все попытки установить соединения, кроме тех, которые предпринимаются компьютерами, принадлежащими сети 172.22.0.0/16. Если бы у вас возникла необходимость принимать обращения из нескольких сетей, вам бы пришлось включить перед опцией REJECT
еще одну опцию ACCEPT
и указать для нее адрес дополнительной сети, компьютеры которой имели бы право устанавливать соединения с сервером.
- Открытие и редактирование документов
- Практическая работа 4. Создание, сохранение и редактирование текстов
- Редактирование конфигурационных сценариев
- Редактирование конфигурационных файлов сервера
- Редактирование файла
- Редактирование .fetchmailrc
- Редактирование файла sshd_config
- Редактирование WS-файла на панели Workspace Nexus
- 4.2.3. Удаление групп
- 4.3.1. Файлы и папки нового пользователя
- 10.5.1. Запрет доступа реальным пользователям
- Сохранение документов