Page tree
Skip to end of metadata
Go to start of metadata

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

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.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 и выше).

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

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

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

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

    • --remote-admin - указание разрешить удаленное администрирование. По умолчанию разрешено только локальное администрирование (т.е. принимаются только обращения через адрес localhost, но не через полное имя хоста);

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

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

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

  2. В конфигурационном файле /etc/cups/cupsd.conf удалить строку:

    Port 631

    и строку Listen привести к виду:

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

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

    sudo cupsd -t

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

    sudo systemctl restart cups

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

    sudo systemctl status cups

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

Пользователи, от имени которых будут выполняться действия по настройке принтеров не связанные с мандатным управлением доступом, должны быть включены в группу 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 (параметр используется отдельно для каждого определяемого ресурса).

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

Для добавления принтера открыть web-браузер и ввести адрес:

localhost:631/admin

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

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

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

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

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

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

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 для корректной работы команд управления на сервере должна быть выполнена настройка клиента, т.е должен быть создан файл /etc/cups/client.conf, в котором должен быть задан единственный параметр ServerName, определяющий имя сервера печати:

ServerName <имя_сервера_печати>

Настройка аутентификации 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:

    sudo 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 в домене 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.9 и Astra Linux Common Edition 2.12.43)

Начиная с:

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

  • Возможность ограничения пользователем видимости заданий других пользователей: опция "Только текущего пользователя" в меню списка заданий. Опция включает отображений заданий только текущего пользователя. Все другие задания будут скрыты;

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

     MyJobsAccessOnly On

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

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