См. также Перенос настроек CUPS
Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
(с установленным обновлением БЮЛЛЕТЕНЬ № 20200722SE16 - оперативное обновление 6) - Astra Linux Special Edition РУСБ.10015-16 исп. 1
- Astra Linux Special Edition РУСБ.10015-16 исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12
Раздел "Ограничение отображения сетевых принтеров в LibreOffice" применим к Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7) и более поздним обновлениям.
Раздел "Ограничение видимости заданий (Astra Linux Special Edition 1.6.9 и Astra Linux Common Edition 2.12.43)" применим только к Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20211008SE16 (оперативное обновление 9) и к более поздним обновлениям, а также к Astra Linux Common Edition 2.12.43.
Раздел "Настройка аутентификации Kerberos" применим только к Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с установленным обновлением БЮЛЛЕТЕНЬ № 2021-1126SE17 (оперативное обновление 1.7.1) (версия cups 2.3.3op2-4astra.se9 и выше).
Встроенный сервер печати
Сервер печати CUPS входит в стандартные дистрибутивы Astra Linux и автоматически устанавливается и запускается при инсталляции ОС с настройками по умолчанию. Проверить статус сервера можно командой
Если сервер печати не был установлен при инсталляции ОС, то установить его можно с помощью графического менеджера пакетов или командой:
- С помощью графического администратора печати fly-admin-printer.
Через web-интерфейс с помощью web-браузера. Адрес для доступа к интерфейсу администрирования:
localhost:631/adminПри входе в web-интерфейс запрашивается идентификация пользователя, по умолчанию используются системные имя и пароль.
- С помощью инструмента командной строки cupsctl - либо с использованием sudo либо пользователями, имеющими право на выполнение административных действия (см. ниже). Примеры использования инструмента cupsctl приведены далее в тексте.
Предоставление пользователям прав на выполнение административных действий не связанных с МРД
Пользователи, от имени которых будут выполняться действия по настройке принтеров не связанные с мандатным управлением доступом (МРД), должны быть включены в группу lpadmin (локальная группа, используемая "по умолчанию") или в другую группу, указанную в списке значений параметра SystemGroup в конфигурационном файле /etc/cups/cups-files.conf.
Кроме того, разрешения на выполнение операций для отдельных пользователей и групп могут быть явно заданы в описаниях ресурсов в конфигурационном файле /etc/cups/cupsd.conf. Пример использования доменной группы приведен далее в разделе про настройку аутентификации Kerberos, подробное описание форматов конфигурационных файлов см. man cupsd.conf.
Для того, чтобы такие пользователи могли применять сделанные ими изменения конфигурации им должно быть предоставлено право перезапускать службу печати. Это можно сделать создав файл /etc/sudoers.d/lpadmins со следующим содержимым:
%lpadmin ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl restart cups %lpadmin ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl stop cups %lpadmin ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl start cups %lpadmin ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl status cups
В приведенном примере пользователям, входящим в группу lpadmin, разрешается использовать sudo для перезапуска, остановки, запуска службы печати cups и проверки её состояния. Подробнее см. man sudoers.
Предоставление пользователям прав на выполнение административных действий связанных с МРД (маркировка документов)
Пользователи, работающие с маркировкой заданий печати в Astra Linux Special Edition, должны быть включены в локальную группу lpmac (создается при установке ОС) или группу lpmac_ald (предназначена для использования в доменах и должна быть создана вручную). Имена этих групп задаются в параметре MacAdmin в конфигурационном файле /etc/cups/cupsd.conf (параметр используется отдельно для каждого определяемого ресурса).
Включение удаленного администрирования сервера печати
После установки службы по умолчанию разрешено только локальное администрирование, т.е. принимаются только обращения через адрес localhost. Обращения через полное имя хоста не принимаются.
Удаленное администрирование может быть разрешено:
- В web-интерфейсе через соответствующий пункт в меню web-интерфейса.
Из командной строки можно использовать команду:
sudo cupsctl --remote-adminГде опция --remote-admin - указание разрешить удаленное администрирование.
Включение удаленного использования принтеров
После установки службы по умолчанию запрещено удаленное использование принтеров, подключенных к серверу печати.
Удаленное использование принтеров может быть разрешено:
- В web-интерфейсе через соответствующий пункт в меню web-интерфейса.
Из командной строки командой:
sudo cupsctl --share-printers --remote-any ServerAlias=`hostname`где:--share-printers - указание включить разделение принтеров;
--remote-any - разрешение принимать задания печати с любых адресов (по умолчанию задания печати разрешено получать только от компьютеров, находящихся в той же подсети, что и сервер);
ServerAlias - "псевдоним" сервера печати. Служба cups принимает только HTTP-обращения, содержащие указанный в этом параметре псевдоним (подразумевается, что псевдонимы разрешаются в IP-адреса с помощью настроенной службы DNS). Можно указать метасимвол "*" (звездочка) для обозначения любых псевдонимов. При необходимости в конфигурационном файле можно указать несколько псевдонимов, разделенных пробелами (в команде cupsctl такая возможность не поддерживается). Для того, чтобы псевдонимы работали, должно быть разрешено удаленное администрирование, иначе разрешен только псевдоним localhost.
При первичных настройках значение параметра DefaultAuthType должно быть Basic;
Проверить корректность конфигурационных файлов:
sudo cupsd -tПерезапустить сервер печати CUPS командой:
sudo systemctl restart cupsПроверить состояние сервиса печати CUPS командой:
sudo systemctl status cups
Добавление принтера через web-интерфейс CUPS
Для добавления принтера:
Открыть web-браузер и ввести адрес:
Нажать кнопку "Добавить принтер".
На запрос аутентификации ввести имя и пароль пользователя, входящего в группу lpadmin.
Далее, будет представлен список устройств для выбора. Фактическое имя принтера отображается рядом с меткой ( например, USB-принтеры напротив USB Printer #1). Принтеру можно присваивать любое имя, аналогично для пунктов 'Расположение' и 'Описание'.
После выбора соответствующего драйвера настройки будут окончены.
При установке USB-принтер должен отображаться в списке устройств на странице Добавить принтер.
Убедиться в правильности настроек, нажав на кнопку Print Test Page (Печать тестовой страницы) в выпадающем меню Maintenance (Обслуживание).
Если принтер не печатает, но вы уверены в правильности всех настроек, попытаться сменить драйвер принтера на другой.
Печать файла из командной строки
Печать файла из командной строки можно выполнить командой:
Добавление сетевого принтера из командной строки
Добавление сетевого принтера из командной строки можно выполнить командой:
Ограничение отображения сетевых принтеров в LibreOffice
Раздел "Ограничение отображения сетевых принтеров в LibreOffice" применим только к Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (очередное обновление 7)
По умолчанию при выборе устройства печати в LibreOffice (Файл - Печать - Принтер) в списке устройств отображаются все обнаруженные сетевые принтеры. Для того, чтобы в списке доступных устройств отображались только принтеры, добавленные через менеджер печати Fly, нужно добавить в файл /etc/cups/client.conf строчку:
DiscoveredOnly Yes
после чего перезапустить службу cups:
Копирование настроек принтеров
Для централизованного управления можно копировать файлы /etc/cups/printers.conf и /etc/cups/ppd/* с компьютера с настроенным принтером на удаленный компьютер при помощи команды scp:
Настройка печати на клиентской машине
- На сервере печати настроить удаленное использование сервера печати.
- На сервере печати настроить принтеры (в том числе, при работае с конфиденциальной информацией в Astra Linux Special Edition установить политику parsec и назначить максимальные допустимые классификационные метки заданий). Настройка принтеров может быть выполнена с использованием утилиты fly-admin-printer (см. электронную справку) или с помощью web-интерфейса CUPS.
На клиентских машинах создать файл /etc/cups/client.conf, в котором должен быть задан единственный параметр ServerName, определяющий имя сервера печати, например:
ServerName <имя_сервера_печати>
Настройка аутентификации Kerberos
Настройка аутентификации Kerberos в домене FreeIPA
Описание стенда FreeIPA
- dc.domain.ipa – контроллер домена FreeIPA;
- printserver.domain.ipa (сервер cups может находиться и на контроллере домена FreeIPA, в таком случае далее printserver заменить на dc);
- client.domain.ipa – клиент FreeIPA.
Настройки домена FreeIPA
Данные настройки могут выполняться через графический интерфейс FreeIPA или через интерфейс командной строки (CLI) FreeIPA. Далее приведены примеры с использованием CLI FreeIPA.
Получить билет Kerberos администратора домена (только при работе с CLI FreeIPA. Для примера используется имя администратора admin):
kinit adminСоздать доменные группы:
Доменную группу для общих задач администрирования с именем, например, print_admins:
ipa group-add print_admins
-------------------------------
Добавлена группа "print_admins"
-------------------------------
Имя группы: print_admins
ID группы: 848400014По необходимости - доменную группу для маркировки заданий:
ipa group-add lpmac_ald
Добавить доменных пользователей, которые будут выполнять функции администратора печати, в доменную группу print-admins. Например:
Создать пользователя print_admin:
ipa user-add print_admin --first <имя> --last <фамилия>Добавить доменного пользователя print_admin в доменную группу print_admins:
ipa group-add-member --users=print_admin print_adminsПри необходимости выполнения маркировки заданий печати добавить доменного пользователя (для примера - print_admin) в доменную группу lpmac_ald командой:
ipa group-add-member --users=print_admin lpmac_ald
На контроллере домена зарегистрировать доменную службу печати ipp (используется при работе с интерфейсом командной стройки cups и графическим инструментом fly-admin-cups):
ipa service-add ipp/printserver.domain.ipaЕсли необходимо использовать web-интерфейс cups и сервер печати находится на отдельном сервере, то для этого сервера зарегистрировать службу HTTP:
ipa service-add HTTP/printserver.domain.ipaЕсли сервер печати находится на контроллере домена, то такая служба создана автоматически при создании домена.
Настройки на сервере печати
- Войти в сессию пользователя - администратора системы (на Astra Linux Special Edition с включенным МКЦ - администратора с высоким уровнем целостности) на сервере печати;
Получить билет Kerberos администратора домена для суперпользователя:
sudo kinit adminПолучить таблицы ключей для зарегистрированных доменных служб и сохранить их в файле /etc/krb5.keytab:
Для службы ipp:
sudo ipa-getkeytab -p ipp/printserver.domain.ipa@DOMAIN.IPA -k /etc/krb5.keytabПри необходимости использовать аутентификацию в web-интерфейсе cups:
Если сервер печати находится на отдельном сервере, то получить новую таблицу ключей:
sudo ipa-getkeytab -p HTTP/printserver.domain.ipa@DOMAIN.IPA -k /etc/krb5.keytabЕсли сервер печати находится на контроллере домена, то получить копию существующих ключей доменной службы HTTP (обязательно использовать ключ -r):
sudo ipa service-allow-retrieve-keytab HTTP/dc.domain.ipa --groups=adminsсм. также Настройка использования аутентификации Kerberos в web-браузерах.
sudo ipa-getkeytab -p HTTP/dc.domain.ipa@DOMAIN.IPA -k /etc/krb5.keytab -r
sudo ipa service-disallow-retrieve-keytab HTTP/dc.domain.ipa/ --groups=admins
Убедиться, что ключи добавлены:
sudo klist -kte /etc/krb5.keytab
Настройка аутентификации Kerberos в домене Windows AD
См. статьи Базы Знаний:
Настройка аутентификации Kerberos в домене ALD
Настройка аутентификации Kerberos в домене ALD в целом аналогична настройке в домене FreeIPA, отличаются команды для выполнения необходимых действий.
Создать в ALD учетную запись группы администраторов печати:
sudo
ald-admin group-add print_adminsДля выполнения действий по маркировке заданий создать в ALD группу lpmac_ald:
sudo ald-admin group-add lpmac_aldВ файле /etc/cups/cups-files.conf в значении параметра SystemGroup добавить (установить) значение print_admins;
Создать в ALD учетную запись администратора печати и добавить ее в группу администраторов печати ALD, например выполнив команды:
sudo ald-admin user-add print_admin
sudo ald-admin group-mod print_admins --add-users --user=print_admin
sudo ald-admin group-mod lpmac_ald --add-users --user=print_adminДля обеспечения совместной работы сервера печати с ALD создать в БД ALD с помощью утилиты администрирования ALD принципала, соответствующего серверу печати. Принципал создается с автоматически сгенерированным случайным ключом:
sudo ald-admin service-add ipp/server.my_domainВвести созданного принципала в группу сервисов mac, используя следующую команду:
sudo ald-admin sgroup-svc-add ipp/server.my_domain --sgroup=mac
Создать файл ключа Kerberos для сервера печати с помощью утилиты администрирования ALD ald-client, используя следующую команду:
sudo ald-client update-svc-keytab ipp/server.my_domain
От имени учетной записи администратора с использованием механизма sudo выполнить следующие команды:
sudo cupsctl DefaultPolicy=default ServerName=server.my_domain MacEnable=On DefaultAuthType=NegotiateПерезапустить сервер печати CUPS, выполнив команду:
sudo systemctl restart cups
Настройка службы печати CUPS
Настройка службы печати CUPS выполняется одинаково для доменов FreeIPA и ALD.
В файле /etc/cups/cups-files.conf на сервере печати заменить строку:
SystemGroup lpadmin
на строку:
SystemGroup lpadmin print_admins
В значениях параметра перечисляются группы пользователей, которым разрешено администрирование. Например, можно не сохранять локальную группу lpadmin, или временно добавить группу admins чтобы предоставить право управления локальным администраторам на время настройки системы, и удалить группу admins после завершения настройки.
Предполагается, что удаленный доступ к службе печати уже настроен как указано в разделе "Включение удаленного использования сервера печати". Выполнить команды (если управление разрешено текущему пользователю):
sudo cupsctl DefaultPolicy=authenticated ServerName=printserver.domain.ipa MacEnable=On DefaultAuthType=Negotiateили действуя от имени администратора прямо отредактировать конфигурационный файл /etc/cups/cupsd.conf, указав (добавив) нужные значения (знак "=" в конфигурационном файле не используется, значения параметров указываются через пробел):
DefaultAuthType Negotiate DefaultPolicy authenticated ServerName printserver.domain.ipa
Проверить корректность конфигурационного файла:
sudo cupsd -tПерезапустить службу печати CUPS сервер командой:
sudo systemctl restart cups
Тестирование функционирования аутентификации Kerberos
В сессии администратора, не имеющего права управления службой cupsd:
Удалить все билеты Kerberos, полученные от имени sudo:
sudo kdestroy -AПопробовать выполнить команду изменения конфигурации (в команде можно использовать уже имеющиеся значения параметров, чтобы не вносить реальные изменения в настроенную конфигурацию), например:
sudo cupsctl DefaultPolicy=defaultитогом выполнения команды должен быть отказ в доступе:cupsctl: В доступе отказано
или (в зависимости от используемой ОС):
cupsctl: Запрещено
Получить билет Kerberos ранее созданного доменного администратора печати print_admin, например:
sudo kinit print_admin- Повторно выполнить команду изменения конфигурации, при наличии билета Kerberos доменного администратора печати команда должна быть выполнена без ошибок;
Аналогично должна выполняться последовательность команд от имени простого пользователя:
kdestroy -A
/usr/sbin/cupsctl DefaultPolicy=default
# отказ выполнения
kinit print_admin
/usr/sbin/cupsctl DefaultPolicy=default
# успешное выполнение
Запись журнала документов и сохранение копий документов
После установки обновления Astra Linux Special Edition 1.6 БЮЛЛЕТЕНЬ № 20190222SE16 (оперативное обновление 1.6.2) появляются две новые возможности управления печатью:
- Запись журнала документов
- Сохранение копий документов
Эти возможности можно включить с помощью графического администратора печати fly-admin-printer.
Запуска администратора печати из командной строки от имени суперпользователя:
"Пуск" - "Панель управления" - "Оборудование" - "Принтеры"
После запуска Выбрать в меню
Выбрать закладку "МАС" и отметить нужные параметры "Включить журнал маркировки" и/или "Дублировать отпечатанные документы".
Из командной строки параметры можно установить редактируя файл /etc/cups/cupsd.conf.
Пример параметров печати можно найти в файле /usr/share/cups/cupsd.conf.default:
...
#rbt
MacEnable on
#MacDuplicate off
#MacJournal off
#MacFullUserName on
#
#MarkerUser ipp
#MaxLogSize 0
#\rbt
...
Ограничение видимости заданий
Начиная с:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным оперативным обновлением БЮЛЛЕТЕНЬ № 20211008SE16 (оперативное обновление 9);
- Astra Linux Common Edition 2.12.43.
в систему управления печатью добавлены следующие возможности:
- Возможность ограничения пользователем видимости заданий других пользователей: опция "Только текущего пользователя" в меню списка заданий. Опция включает отображений заданий только текущего пользователя. Все другие задания будут скрыты.
Возможность принудительного ограничения администратором видимости пользователями заданий других пользователей. Для включения этой возможности добавить в файл /etc/cups/cupsd.conf строку:
MyJobsAccessOnly On
и осуществить перезапуск сервиса печати CUPS. В результате включения этой опции пользователям будут разрешено видеть только свои задания.
Исключение - администраторы печати (пользователи, состоящие в группе lpadmin). Они видят все задания независимо от состояния данной опции.
Маркировка документов
Маркировка задержанных заданий осуществляется специально назначенным пользователем (пользователями).
Для выполнения маркировки задержанных заданий, имеющих ненулевые метки безопасности, в комплект установки ОС Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) входят:
- Графический инструмент
fly-admin-printer
(доступен через меню "Пуск" > "Панель управления" > "Оборудование" > "Принтеры"); - Графический инструмент
fly-jobviewer
, представляющий собой упрощенный аналог инструментаfly-admin-printer
, не дающий возможностей настройки сервера и принтеров.
Инструмент доступен из меню: "Пуск"→ "Системные"→ "Очередь печати"; - Инструмент командной строки
markjob.
Для выполнения маркировки запуск любого из этих инструмента должен быть осуществлен от пользователя, входящего в группу lpmac.
При работе с графическим инструментом fly-admin-printer
:
- После запуска инструмента выбрать в левой экранной форме нужный принтер;
- В правой экранной форме выбрать закладку "Задания";
- Выбрать нужное задание, правой кнопкой мыши вызвать контекстное меню, и выбрать пункт "Маркировать";
- В открывшейся экранной форме заполнить необходимые поля, и нажать кнопку "Да";
- В списке заданий появится несколько дополнительных заданий, причем и исходное и дополнительное задания будут помечены как "приостановленные";
- Для вывода промаркированного задания на печать печать следует выбрать исходное задание, и нажать кнопку "возобновить".
При работе с инструментом командной строки markjob
:
- После запуска инструмента на экран выводится список заданий печати и запрашивается ввод нужного номера;
- Ввести номер задания;
- заполнить необходимые реквизиты;
- после ввода всех реквизитов маркировка будет выполнена автоматически;