Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Children Display

Table of Contents

См. также Перенос настроек CUPS


Info
titleДанная статья применима к:
  • 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 выполнить команду:

    Command
    borderColor#c2e6ff
    bgColor#e2f3ff

    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 удалить строку:

    Code Block
    iconfalse
    Port 631

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

    Code Block
    iconfalse
    Listen 0.0.0.0:631


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

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

    Command

    sudo cupsd -t


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

    Command

    sudo systemctl restart cups


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

    Command
    sudo systemctl status cups


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

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

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

Кроме того, разрешения на выполнение операций для отдельных пользователей и групп могут быть явно заданы в описаниях ресурсов в конфигурационном файле /etc/cups/cupsd.conf (пример использования доменной группы приведен делее в разделе про настройку аутентификации Kerberos, подробное описание форматов конфигурационных файлов см. man cupsd.conf.

Для того, чтобы такие пользователи могли применять сделанные ими изменения конфигурации им должно быть предоставленно право перезапускать службу печати. Это можно сделать создав файл /etc/sudoers.d/lpadmins со следующим содержимым:

Code Block
%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.

Warning
При работе в Astra Linux с включенным МКЦ для управления службой печати пользователю требуется высокая целостность.

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

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

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

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

Tip
iconfalse

localhost:631/admin

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

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

Note

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

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

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

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

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


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

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

Command
lpadmin -p printername -E -v socket://11.22.33.44 -m drv:///sample.drv/laserjet.ppd


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

Info

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

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

Code Block
DiscoveredOnly Yes

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

Command
sudo systemctl restart cups


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

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

Command

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, определяющий имя сервера печати, например:

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


Настройка аутентификации Kerberos

Перед настройкой аутентификации Kerberos для корректной работы команд управления на сервере должна быть выполнена настройка клиента, т.е должен быть создан файл /etc/cups/client.conf, в котором должен быть задан единственный параметр ServerName, определяющий имя сервера печати:

Code Block
iconfalse
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):

    Command
    kinit admin


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

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

      Command
      Titleipa group-add print_admins

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


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

      Command

      ipa group-add lpmac_ald


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

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

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


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

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


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

      Command

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


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

    Command
    ipa service-add ipp/printserver.domain.ipa


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

    Command

    sudo ipa service-add HTTP/printserver.domain.ipa

    Если сервер печати находится на контроллере домена, то такая служба создана автоматически при создании домена.

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

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

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

    Command
    sudo kinit admin


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

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

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


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

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

        Command

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


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

        Command

        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. Убедиться, что ключи добавлены:

    Command
    sudo klist -kte /etc/krb5.keytab


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

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

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

    Command
    borderColor#c2e6ff
    bgColor#e2f3ff
    iconfalse
    sudo ald-admin group-add print_admins


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

    Command
    borderColor#c2e6ff
    bgColor#e2f3ff

    sudo ald-admin group-add lpmac_ald


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

  4. Создать в ALD учетную запись администратора печати и добавить ее в группу администраторов печати ALD, например выполнив команды:

    Command
    borderColor#c2e6ff
    bgColor#e2f3ff
    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 принципала, соответствующего серверу печати. Принципал создается с автоматически сгенерированным случайным ключом:

    Command
    borderColor#c2e6ff
    bgColor#e2f3ff
    sudo ald-admin service-add ipp/server.my_domain


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

    Command
    borderColor#c2e6ff
    bgColor#e2f3ff
    sudo ald-admin sgroup-svc-add ipp/server.my_domain --sgroup=mac


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

    Command
    borderColor#c2e6ff
    bgColor#e2f3ff
    sudo ald-client update-svc-keytab ipp/server.my_domain


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

    Command
    borderColor#c2e6ff
    bgColor#e2f3ff
    sudo cupsctl DefaultPolicy=default ServerName=server.my_domain MacEnable=On DefaultAuthType=Negotiate


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

    Panel
    borderColor#c2e6ff
    bgColor#e2f3ff

    sudo systemctl restart cups


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

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

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

    Code Block
    SystemGroup lpadmin

    на строку:

    Code Block
    SystemGroup lpadmin print_admins


    Info

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


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

    Command

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

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

    Code Block
    DefaultAuthType Negotiate
    DefaultPolicy authenticated
    ServerName printserver.domain.ipa


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

    Command

    sudo cupsd -t


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

    Command

    sudo systemctl restart cups



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

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

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

    Command
    sudo kdestroy -A


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

    Command
    sudo cupsctl DefaultPolicy=default

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

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

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

    Code Block
    cupsctl: Запрещено


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

    Command
    sudo kinit print_admin


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

    Command
    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 строку:

    Code Block
     MyJobsAccessOnly On

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

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


...