Page tree

Данная статья применима к:

  • 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 и автоматически устанавливается и запускается при инсталляции ОС с настройками по умолчанию. Проверить статус сервера можно командой 

systemctl status cups

Если сервер печати не был установлен при инсталляции ОС, то установить его можно с помощью графического менеджера пакетов или командой:

sudo apt install cups
Если требует печать документов с маркировкой заданий, то дополнительно требуется установить пакет parsec-cups:
sudo apt install cups parsec-cups
Администрирование сервера печати, находящегося на локальном сервере, может осуществляться:

  1. С помощью графического администратора печати fly-admin-printer.
  2. Через web-интерфейс с помощью web-браузера. Адрес для доступа к интерфейсу администрирования:

    localhost:631/admin

    При входе в web-интерфейс запрашивается идентификация пользователя, по умолчанию используются системные имя и пароль.

  3. С помощью инструмента командной строки cupsctl - либо с использованием sudo либо пользователями, имеющими право на выполнение административных действия (см. ниже). Примеры использования инструмента cupsctl приведены далее в тексте.

Предоставление пользователям прав на выполнение административных действий не связанных с МРД

Пользователи, от имени которых будут выполняться действия по настройке принтеров не связанные с мандатным управлением доступом (МРД), должны быть включены в группу lpadmin (локальная группа, используемая "по умолчанию") или в другую группу, указанную в списке значений параметра  SystemGroup в конфигурационном файле /etc/cups/cups-files.conf.

В Astra Linux Special Edition x.7 с включенным МКЦ администраторы службы печати для внесения изменений в конфигурацию службы должны иметь высокую целостность.

Кроме того, разрешения на выполнение операций для отдельных пользователей и групп могут быть явно заданы в описаниях ресурсов в конфигурационном файле /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 с включенным МКЦ для управления службой печати пользователю требуется высокая целостность.

Предоставление пользователям прав на выполнение административных действий связанных с МРД (маркировка документов)

Пользователи, работающие с маркировкой заданий печати в Astra Linux Special Edition, должны быть включены в локальную группу lpmac (создается при установке ОС) или группу lpmac_ald (предназначена для использования в доменах и  должна быть создана вручную). Имена этих групп задаются в параметре MacAdmin в конфигурационном файле /etc/cups/cupsd.conf (параметр используется отдельно для каждого определяемого ресурса).

Включение удаленного администрирования сервера печати

После установки службы по умолчанию разрешено только локальное администрирование, т.е. принимаются только обращения через адрес localhost. Обращения через полное имя хоста не принимаются.
Удаленное администрирование может быть разрешено:

  1. В web-интерфейсе через соответствующий пункт в меню web-интерфейса.
  2. Из командной строки можно использовать команду:

    sudo cupsctl --remote-admin
    Где опция --remote-admin - указание разрешить удаленное администрирование. 

Включение удаленного использования принтеров

После установки службы по умолчанию запрещено удаленное использование принтеров, подключенных к серверу печати.
Удаленное использование принтеров может быть разрешено:

  1. В web-интерфейсе через соответствующий пункт в меню web-интерфейса.
  2. Из командной строки командой:

    sudo cupsctl --share-printers --remote-any ServerAlias=`hostname`
    где:

    • --share-printers - указание включить разделение принтеров;

    • --remote-any - разрешение принимать задания печати с любых адресов (по умолчанию задания печати разрешено получать только от компьютеров, находящихся в той же подсети, что и сервер);

    • ServerAlias - "псевдоним" сервера печати. Служба cups принимает только HTTP-обращения, содержащие указанный в этом параметре псевдоним (подразумевается, что псевдонимы разрешаются в IP-адреса с помощью настроенной службы DNS). Можно указать метасимвол "*" (звездочка) для обозначения любых псевдонимов. При необходимости в конфигурационном файле можно указать несколько псевдонимов, разделенных пробелами (в команде cupsctl такая возможность не поддерживается). Для того, чтобы псевдонимы работали, должно быть разрешено удаленное администрирование, иначе разрешен только псевдоним localhost.

  3. При первичных настройках значение параметра DefaultAuthType должно быть Basic;

  4. Проверить корректность конфигурационных файлов:

    sudo cupsd -t

  5. Перезапустить сервер печати CUPS командой:

    sudo systemctl restart cups

  6. Проверить состояние сервиса печати CUPS командой:

    sudo systemctl status cups

Добавление принтера через web-интерфейс CUPS

Для добавления принтера:

  1. Открыть web-браузер и ввести адрес:

    localhost:631/admin

  2. Нажать кнопку "Добавить принтер".

  3. На запрос аутентификации ввести имя и пароль пользователя, входящего в группу lpadmin.

  4. Далее, будет представлен список устройств для выбора. Фактическое имя принтера отображается рядом с меткой ( например, USB-принтеры напротив USB Printer #1). Принтеру можно присваивать любое имя, аналогично для пунктов 'Расположение' и 'Описание'.

  5. После выбора соответствующего драйвера настройки будут окончены.

    При установке USB-принтер должен отображаться в списке устройств на странице Добавить принтер.

  6. Убедиться в правильности настроек, нажав на кнопку Print Test Page (Печать тестовой страницы) в выпадающем меню Maintenance (Обслуживание).

  7. Если принтер не печатает, но вы уверены в правильности всех настроек, попытаться сменить драйвер принтера на другой.

Печать файла из командной строки

Печать файла из командной строки можно выполнить командой:

lp -d *имя_принтера* *имя_файла*

Добавление сетевого принтера из командной строки

Добавление сетевого принтера из командной строки можно выполнить командой:

Ограничение отображения сетевых принтеров в LibreOffice

Раздел "Ограничение отображения сетевых принтеров в LibreOffice" применим только к Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (очередное обновление 7)

По умолчанию при выборе устройства печати в LibreOffice (Файл - Печать - Принтер) в списке устройств отображаются все обнаруженные сетевые принтеры. Для того, чтобы в списке доступных устройств отображались только принтеры, добавленные через менеджер печати Fly, нужно добавить в файл /etc/cups/client.conf строчку:

DiscoveredOnly Yes

после чего перезапустить службу cups:

sudo systemctl restart cups

Копирование настроек принтеров

Для централизованного управления можно копировать файлы /etc/cups/printers.conf и /etc/cups/ppd/* с компьютера с настроенным принтером на удаленный компьютер при помощи команды scp:

scp /etc/cups/printers.conf 10.10.10.10:/etc/cups/
scp /etc/cups/ppd/* 10.10.10.10:/etc/cups/ppd/

Настройка печати на клиентской машине

  1. На сервере печати настроить удаленное использование сервера печати.

  2. На сервере печати настроить принтеры (в том числе, при работае с конфиденциальной информацией в Astra Linux Special Edition установить политику parsec и назначить максимальные допустимые классификационные метки заданий). Настройка принтеров может быть выполнена с использованием утилиты fly-admin-printer (см. электронную справку) или с помощью web-интерфейса CUPS.

  3. На клиентских машинах создать файл /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.

  1. Получить билет Kerberos администратора домена (только при работе с CLI FreeIPA. Для примера используется имя администратора admin):

    kinit admin

  2. Создать доменные группы:

    1. Доменную группу для общих задач администрирования с именем, например, print_admins:

      ipa group-add print_admins

      -------------------------------
      Добавлена группа "print_admins"
      -------------------------------
        Имя группы: print_admins
        ID группы: 848400014

    2. По необходимости - доменную группу для маркировки заданий:

      ipa group-add lpmac_ald

  3. Добавить доменных пользователей, которые будут выполнять функции администратора печати, в доменную группу print-admins. Например:

    1. Создать пользователя print_admin:

      ipa user-add print_admin --first <имя> --last <фамилия>

    2. Добавить доменного пользователя print_admin в доменную группу print_admins:

      ipa group-add-member --users=print_admin print_admins

    3. При необходимости выполнения маркировки заданий печати добавить доменного пользователя (для примера - print_admin) в доменную группу lpmac_ald командой:

      ipa group-add-member --users=print_admin lpmac_ald

  4. На контроллере домена зарегистрировать доменную службу печати ipp (используется при работе с интерфейсом командной стройки cups и графическим инструментом fly-admin-cups):

    ipa service-add ipp/printserver.domain.ipa

  5. Если необходимо использовать web-интерфейс cups и сервер печати находится на отдельном сервере, то для этого сервера зарегистрировать службу HTTP:

    ipa service-add HTTP/printserver.domain.ipa
    Если сервер печати находится на контроллере домена, то такая служба создана автоматически при создании домена.

Настройки на сервере печати

  1. Войти в сессию пользователя - администратора системы  (на Astra Linux Special Edition с включенным МКЦ - администратора с высоким уровнем целостности) на сервере печати;

  2. Получить билет Kerberos администратора домена для суперпользователя:

    sudo kinit admin

  3. Получить таблицы ключей для зарегистрированных доменных служб и сохранить их в файле /etc/krb5.keytab:

    1. Для службы ipp:

      sudo ipa-getkeytab -p ipp/printserver.domain.ipa@DOMAIN.IPA -k /etc/krb5.keytab

    2. При необходимости использовать аутентификацию в web-интерфейсе cups:

      1. Если сервер печати находится на отдельном сервере, то получить новую таблицу ключей:

        sudo ipa-getkeytab -p HTTP/printserver.domain.ipa@DOMAIN.IPA -k /etc/krb5.keytab

      2. Если сервер печати находится на контроллере домена, то получить копию существующих ключей доменной службы HTTP (обязательно использовать ключ -r):

        sudo ipa service-allow-retrieve-keytab HTTP/dc.domain.ipa --groups=admins
        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
        см. также Настройка использования аутентификации Kerberos в web-браузерах.

  4. Убедиться, что ключи добавлены:

    sudo klist -kte /etc/krb5.keytab

Настройка аутентификации Kerberos в домене Windows AD

См. статьи Базы Знаний:

Настройка аутентификации Kerberos в домене ALD

Настройка аутентификации Kerberos в домене ALD в целом аналогична настройке в домене FreeIPA, отличаются команды для выполнения необходимых действий.

  1. Создать в ALD учетную запись группы администраторов печати:

    sudo ald-admin group-add print_admins

  2. Для выполнения действий по маркировке заданий создать в ALD группу lpmac_ald:

    sudo ald-admin group-add lpmac_ald

  3. В файле /etc/cups/cups-files.conf в значении параметра SystemGroup добавить (установить) значение print_admins;

  4. Создать в 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

  5. Для обеспечения совместной работы сервера печати с ALD создать в БД ALD с помощью утилиты администрирования ALD принципала, соответствующего серверу печати. Принципал создается с автоматически сгенерированным случайным ключом:

    sudo ald-admin service-add ipp/server.my_domain

  6. Ввести созданного принципала в группу сервисов mac, используя следующую команду:

    sudo ald-admin sgroup-svc-add ipp/server.my_domain --sgroup=mac

  7. Создать файл ключа Kerberos для сервера печати с помощью утилиты администрирования ALD ald-client, используя следующую команду:

    sudo ald-client update-svc-keytab ipp/server.my_domain

  8. От имени учетной записи администратора с использованием механизма sudo выполнить следующие команды:

    sudo cupsctl DefaultPolicy=default ServerName=server.my_domain MacEnable=On DefaultAuthType=Negotiate

  9. Перезапустить сервер печати CUPS, выполнив команду:

    sudo systemctl restart cups

Настройка службы печати CUPS

Настройка службы печати CUPS выполняется одинаково для доменов FreeIPA и ALD.

  1. В файле /etc/cups/cups-files.conf на сервере печати заменить строку:

    SystemGroup lpadmin

    на строку:

    SystemGroup lpadmin print_admins

    В значениях параметра перечисляются группы пользователей, которым разрешено администрирование. Например, можно не сохранять локальную группу lpadmin, или временно добавить группу admins чтобы предоставить право управления локальным администраторам на время настройки системы, и удалить группу admins после завершения настройки.

  2. Предполагается, что удаленный доступ к службе печати уже настроен как указано в разделе "Включение удаленного использования сервера печати". Выполнить команды (если управление разрешено текущему пользователю):

    sudo cupsctl DefaultPolicy=authenticated ServerName=printserver.domain.ipa MacEnable=On DefaultAuthType=Negotiate

    или действуя от имени администратора прямо отредактировать конфигурационный файл /etc/cups/cupsd.conf, указав (добавив) нужные значения (знак "=" в конфигурационном файле не используется, значения параметров указываются через пробел):

    DefaultAuthType Negotiate
    DefaultPolicy authenticated
    ServerName printserver.domain.ipa
  3. Проверить корректность конфигурационного файла:

    sudo cupsd -t

  4. Перезапустить службу печати CUPS сервер командой:

    sudo systemctl restart cups


Тестирование функционирования аутентификации Kerberos

В сессии администратора, не имеющего права управления службой cupsd:

  1. Удалить все билеты Kerberos, полученные от имени sudo:

    sudo kdestroy -A

  2. Попробовать выполнить команду изменения конфигурации (в команде можно использовать уже имеющиеся значения параметров, чтобы не вносить реальные изменения в настроенную конфигурацию), например:

    sudo cupsctl DefaultPolicy=default
    итогом выполнения команды должен быть отказ в доступе:

    cupsctl: В доступе отказано

    или (в зависимости от используемой ОС):

    cupsctl: Запрещено
  3. Получить билет Kerberos ранее созданного доменного администратора печати print_admin, например:

    sudo kinit print_admin

  4. Повторно выполнить команду изменения конфигурации, при наличии билета Kerberos доменного администратора печати команда должна быть выполнена без ошибок;
  5. Аналогично должна выполняться последовательность команд от имени простого пользователя:

    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.

Журнал и копии заданий записываются в каталог /var/spool/cups/parsec Для доступа к этому каталогу нужны привилегии суперпользователя  (root), или администратор печати должен быть запущен от имени пользователя, входящего в группу lp.

Запуска администратора печати из командной строки от имени суперпользователя:

sudo 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
...



Ограничение видимости заданий

Начиная с:

в систему управления печатью добавлены следующие возможности:

  • Возможность ограничения пользователем видимости заданий других пользователей: опция "Только текущего пользователя" в меню списка заданий. Опция включает отображений заданий только текущего пользователя. Все другие задания будут скрыты.
  • Возможность принудительного ограничения администратором видимости пользователями заданий других пользователей. Для включения этой возможности добавить в файл /etc/cups/cupsd.conf строку:

     MyJobsAccessOnly On

    и осуществить перезапуск сервиса печати CUPS. В результате включения этой опции пользователям будут разрешено видеть только свои задания.

    Исключение - администраторы печати (пользователи, состоящие в группе lpadmin). Они видят все задания независимо от состояния данной опции.

Маркировка документов

Для выполнения маркировки документов должен быть установлен пакет parsec-cups. Этот пакет устанавливается по умолчанию при установке ОС.
Сервер печати, встроенный в Astra Linux Special Edition, проверяет метку безопасности заданий, отправляемых на печать, и все задания, имеющие ненулевые метки безопасности, задерживает до проведения их маркировки.

Маркировка задержанных заданий осуществляется специально назначенным пользователем (пользователями).

Для выполнения маркировки задержанных заданий, имеющих ненулевые метки безопасности, в комплект установки ОС Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) входят:

  • Графический инструмент fly-admin-printer (доступен через меню "Пуск" > "Панель управления" > "Оборудование" > "Принтеры");
  • Графический инструмент fly-jobviewer, представляющий собой упрощенный аналог инструмента fly-admin-printer, не дающий возможностей настройки сервера и принтеров.
    Инструмент доступен из меню: "Пуск"→ "Системные"→ "Очередь печати";
  • Инструмент командной строки  markjob.

Для выполнения маркировки запуск любого из этих инструмента должен быть осуществлен от пользователя, входящего в группу lpmac.


При работе с графическим инструментом fly-admin-printer:

  • После запуска инструмента выбрать в левой экранной форме  нужный принтер;
  • В правой экранной форме выбрать закладку "Задания";
  • Выбрать нужное задание, правой кнопкой мыши вызвать контекстное меню, и выбрать пункт "Маркировать";
  • В открывшейся экранной форме заполнить необходимые поля, и нажать кнопку "Да";
  • В списке заданий появится несколько дополнительных заданий, причем и исходное и дополнительное задания будут помечены как "приостановленные";
  • Для вывода промаркированного задания на печать печать следует выбрать исходное задание, и нажать кнопку "возобновить".

При работе с инструментом командной строки markjob:

  • После запуска инструмента на экран выводится список заданий печати и запрашивается ввод нужного номера;
  • Ввести номер задания;
  • заполнить необходимые реквизиты;
  • после ввода всех реквизитов маркировка будет выполнена автоматически;
Формат маркеров документов задаётся в файле /etc/cups/marker.template.