Samba print server

Материал из Русский WINE
Перейти к: навигация, поиск

Вступление

При настройке Samba в качестве сервера печати, клиенты вашей сети смогут отправлять задания на печать на хост Samba, используя протокол SMB. В примерах, приведенных в этой документации, используется бэкэнд raw-принтера. Эта конфигурация требует, чтобы задание на печать обрабатывалось драйвером на клиенте и, следовательно, могло обрабатываться принтером без дальнейшей обработки или фильтрации.

Поддерживаемые сервера печати

Samba поддерживает несколько серверов печати, таких как CUPS и LPRng . Полный список см. в параметре printing на man page smb.conf(5).

Для начала необходимо настроить локальную серверную часть на хосте Samba. Samba не может пересылать задания на печать на удаленный хост. Однако вы можете настроить локальный сервер печати для пересылки задания на удаленный сервер печати.

Подробнее о настройке серверной части см. Документацию сервера печати.

Поддержка бэкэндов CUPS или IPRINT в Samba

При использовании серверной части CUPS или IPRINT Samba должна быть собрана с включенной поддержкой CUPS. Для подтверждения введите:

# smbd -b | grep "HAVE_CUPS"
   HAVE_CUPS

Если вывод не отображается:

Добавление принтера в серверную часть сервера печати

CUPS

Чтобы добавить принтер на сервер печати CUPS:

  • Откройте веб-интерфейс администратора CUPS в своем браузере: http://localhost:631/admin
  • Перейдите на вкладку Администрирование и нажмите Добавить принтер.
  • Выберите тип подключения и введите соответствующий URL-адрес в очередь принтера или в очередь на удаленный сервер печати. Например:
    • Принтеры на основе LPD: lpd://printer_name/queue
    • Принтеры на основе IPP (Internet Printing Protocol): ipp://printer_name/ipp/port
    • Принтеры на основе SMB (Server Message Block): smb://username:password@domain/windows_print_server_host_name/printer_name

Обратите внимание, что для пересылки задания на сервер печати под управлением Windows Vista или более поздней версии или Windows Server 2008 или более поздней версии требуется проверка подлинности.

  • Введите имя для принтера. Это имя используется /etc/samba/smb.conf при совместном использовании принтера с помощью Samba.
  • Выберите Raw поставщика и модель принтера.
  • Сохраните настройки.

LPRng

Чтобы добавить принтер на сервер печати LPRng:

  • Добавьте следующую строку в файл /etc/printcap:
printer_name:sd=/var/spool/lpd/printer_name/:sh:mx=0:mc=0:rm=Printer_DNS_name_or_IP_address

Имя принтера используется в файле /etc/samba/smb.conf при совместном использовании принтера с помощью Samba.

Для получения дополнительной информации об используемых параметрах см. printcap(5) man page.

Чтобы создать каталог spool, введите:

# checkpc -f

Перезапустите службу LPRng.

Включение службы spoolssd

Samba spoolssd - это служба, которая интегрирована в службу smbd. Если вы настроили Samba в качестве сервера печати, вы можете дополнительно включить spoolssd для повышения производительности на серверах печати с большим количеством заданий или принтеров.

Без spoolssd Samba разветвляет smbd процесс или каждое задание на печать и инициализирует кэш printcap. В случае большого количества принтеров служба smbd может перестать отвечать на запросы в течение нескольких секунд при инициализации кэша. Служба spoolssd позволяет запускать предварительно раздвоенные процессы smbd, обрабатывая задания на печать без каких-либо задержек. Основной spoolssd smbd-процесс использует мало памяти, разветвляется и завершает дочерние процессы.

Чтобы включить службу spoolssd:

  • Отредактируйте раздел [global] в файле /etc/samba/smb.conf:
    • Добавьте следующие параметры:
rpc_server: spoolss = external
rpc_daemon: spoolssd = fork

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

Параметр Значение
по-умолчанию
Описание
spoolssd: prefork_min_children 5 Минимальное количество дочерних процессов
spoolssd: prefork_max_children 25 Максимальное количество дочерних процессов
spoolssd: prefork_spawn_rate 5 Samba разветвляет это число новых дочерних процессов до значения, установленного в spoolssd:prefork_max_children, если установлено новое соединение
spoolssd: prefork_max_allowed_clients 100 Количество клиентов, обслуживаемых дочерним процессом
spoolssd: prefork_child_min_life 60 Минимальное время жизни дочернего процесса в секундах. 60 секунд это минимум.

Перезапустите Samba.

После перезапуска Samba автоматически запускает smbd-подпроцессы:

# ps axf
...
30903 smbd
30912  \_ smbd
30913      \_ smbd
30914      \_ smbd
30915      \_ smbd
...

Включение поддержки сервера печати в Samba

Чтобы включить поддержку сервера печати:

  • Установите бэкэнд печати в параметре printing раздела [global] в файле /etc/samba/smb.conf. Например:
printing = CUPS
  • Добавьте следующий раздел в /etc/samba/smb.conf:
[printers]
       path = /var/spool/samba/
       printable = yes
  • Создайте каталог spool, заданный в параметре path:
# mkdir -p /var/spool/samba/
# chmod 1777 /var/spool/samba/
  • Перезапустите Samba:
# smbcontrol all reload-config

Совместное использование принтера

Автоматический общий доступ ко всем принтерам, настроенным на сервере печати

При использовании настроек по-умолчанию все принтеры, настроенные на сервере печати, автоматически открываются для общего доступа.

Отключение автоматического общего доступа к принтеру

Чтобы отключить автоматический общий доступ к принтеру:

  • Добавьте следующий параметр в раздел [global] файла /etc/samba/smb.conf:
load printers = no
  • Перезапустите Samba:
# smbcontrol all reload-config

Совместное использование принтеров вручную

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

  • Убедитесь, что автоматический общий доступ к принтеру отключен. См. пункт выше.
  • Добавьте общий ресурс для принтера в файл /etc/samba/smb.conf:
[Samba_printer_name]
       path = /var/spool/samba/
       printable = yes
       printer name = printer_name_in_the_back_end

Задайте на параметр printer name имя принтера, используемого в бэкэнде локального сервера печати.

  • Перезапустите Samba:
# smbcontrol all reload-config

Источник: samba.org

Samba
Search.png
Файловое хранилище Samba как файловый серверПодключение общей папкиSamba как файловый сервер в домене
Служба каталогов
Сервер Samba как служба каталогов (AD)Изменение IP-адреса ADРепликация сервера ADРезервное копирование и восстановлениеУправление пользователямиГрупповые политикиГрупповая политика паролей
Клиент Подключение клиента AD Через WinbindЧерез SSSD
Бэкэнды идентификаторов winbind idmap config tdbidmap config adidmap config rididmap config autorid
Прочее Samba как сервер печатиПроверка конфигурационного файлаУтилиты командной строки
Информация SSSD vs WinbindУстановка Samba