Samba print server
Содержание
Вступление
При настройке 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
Если вывод не отображается:
- Samba была собрана с использованием параметра --disable-cups.
- Сценарию Samba configure не удалось найти необходимые библиотеки для поддержки CUPS. Для получения дополнительной информации см. Зависимости пакетов, необходимые для сборки Samba.
Добавление принтера в серверную часть сервера печати
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.(CONFIGFILE) Например:
printing = CUPS
- Добавьте следующий раздел в /etc/samba/smb.conf(CONFIGFILE):
[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(CONFIGFILE):
load printers = no
- Перезапустите Samba:
# smbcontrol all reload-config
Совместное использование принтеров вручную
Чтобы вручную поделиться принтером:
- Убедитесь, что автоматический общий доступ к принтеру отключен. См. пункт выше.
- Добавьте общий ресурс для принтера в файл /etc/samba/smb.conf(CONFIGFILE):
[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 | |||
---|---|---|---|
Файловое хранилище | Samba как файловый сервер • Подключение общей папки • Samba как файловый сервер в домене | ||
Служба каталогов | |||
Сервер | Samba как служба каталогов (AD) • Изменение IP-адреса AD • Репликация сервера AD • Резервное копирование и восстановление • Управление пользователями • Групповые политики • Групповая политика паролей | ||
Клиент | Подключение клиента AD • Устранение неполадок участников домена Samba | ||
Бэкэнды идентификаторов winbind | idmap config tdb • idmap config ad • idmap config rid • idmap config autorid | ||
Прочее | Samba как сервер печати • Проверка конфигурационного файла • Утилиты командной строки • LMHOSTS • Уровень логов • Каталоги Samba • Настройка DNS | ||
Разное | Настройка Samba для привязки к определенным интерфейсам • Тестирование динамических обновлений DNS • Samba Перенастройка бэкенда BIND9 DLZ • Конфигурация DNS для Linux и Unix | ||
Информация | SSSD vs Winbind • Установка Samba |