Как настроить SAMBA для расшаренного принтера на Debian 9?
Есть микрокомпьютер Rapberry Pi3. Он используется как тонкий клиент для подключения к терминальному серверу (windows server 2003), для работы в браузерной информационной системе. От туда пользователям необходимо распечатывать некоторые документы.
На рабочем месте пользователя к малине подключен принтер (HP LaserJet P1102), необходимо с терминального сервера отправлять задания на печать.
Локально печатает, общий доступ открыт. Изначально настроил печать через IPP, на винде ввел при добавлении принтера адрес http://адрес_принтера:631/printers/имя_принтера_в_cups
Печать пошла. Подумал все круто, все печатает. Но возникла проблема: при простое принтер засыпал и с удаленного клиента (windows server который) задания отправлялись и пропадали. Помогало включение выключение принтера. Информацию с решением этой проблемы в googlе не нашел, сам куда копать не знаю не очень опытный.
Решил почитаю инструкции по samba, может через нее получится добиться стабильной работы принтера. Но пока не получается добиться в отношении печати ничего.
1) Добавил нужного системного пользователя, под которым будет осуществляться подключение от клиента к серверу. На клиенте используется такое же имя пользователя
sudo useradd -M -s /sbin/nologin Promed_12_4
2) Чтобы включить учетную запись Promed_12_4 в локальной системе:
sudo passwd Promed_12_4 Enter new UNIX password: 1 Retype new UNIX password: 1 passwd: password updated successfully
3) Добавил учетную запись Promed_12_4 в базу данных Samba:
sudo smbpasswd -a Promed_12_4 New SMB password: Retype new SMB password: Added user Promed_12_4
4) Включил учетную запись Samba:
sudo smbpasswd -e Promed_12_4 Enabled user Promed_12_4
[global] workgroup = SP dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d server role = standalone server passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes printing = CUPS [homes] comment = Home Directories browseable = no read only = yes create mask = 0700 directory mask = 0700 valid users = %S [printers] comment = All Printers printing = CUPS browseable = no path = /var/spool/samba printable = yes guest ok = yes read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no
В сети на windows малину видно, она открывается, там виден принтер, при установке просит драйвер, я выбираю с диска, дохожу до конца и выходит сообщение:
«Windows не удается подключится к принтеру. Введено неправильное имя принтера или указанный принтер утерял подключение к принтеру».
Какие настройки поправить в файле конфигурации? Может где-то есть готовые актуальные конфигурационные файлы? Если укажете на решение проблемы с засыпанием, то это тоже будет решением. Помогите пожалуйста.
Попробуйте вот это запилить перед отправкой на печать. https://www.depicus.com/wake-on-lan/wake-on-lan-cmd
HP LaserJet P1102
Но возникла проблема: при простое принтер засыпал и с удаленного клиента (windows server который) задания отправлялись и пропадали. Помогало включение выключение принтера. Информацию с решением этой проблемы в googlе не нашел, сам куда копать не знаю не очень опытный.
Для случая вин ситуация та же. Засыпает и фиг проснется. Может решение и есть но я даже не искал. Привыкли пинать принтер.
В общем заставил все таки принтер печатать через samba со следующим конфигом:
[global] workgroup = SP dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d server role = standalone server passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes printcap name = cups printing = CUPS [homes] comment = Home Directories browseable = no read only = yes create mask = 0700 directory mask = 0700 valid users = %S [printers] comment = All Printers printing = CUPS browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no [downloads] path = /home/pi/Downloads read only = no locking = no browsable = yes writable = yes guest ok = yes force user = nobody force group = nogroup [HP_LaserJet_Professional_P1102_tt] path = /var/spool/samba/ printable = yes printer name = HP_LaserJet_Professional_P1102_tt read only = no locking = no browsable = yes writable = yes guest ok = yes force user = nobody force group = nogroup create mask = 0777 use client driver = yes
Владельцем папки /var/spool/samba/ сделал nobody:nogroup
При данном способе печати, принтер так же засыпает и продолжить печать возможно только после перевыключения принтера
Открою по этой проблеме отдельную тему, а то название данной темы не очень соответствует ей.
И еще, данная проблема наблюдается только на debian, на ubuntu например все работает постоянно.
Сервер печати Samba
Другое распространенное использование Samba — настройка разделения доступа к установленным принтерам, как локальным, так и сетевым, на Ubuntu сервере. Также как и в разделе Файловый сервер Samba здесь будет рассмотрена настройка Samba, позволяющая любому клиенту в локальной сети получить доступ к установленным принтерам без запроса имени пользователя и пароля.
Для более безопасной конфигурации смотрите раздел Защита серверов Samba.
Установка
Перед установкой и настройкой Samba лучше всего иметь уже работающую установку CUPS. Смотрите раздел Сервер печати CUPS для уточнения деталей.
Для установки пакета samba введите из терминала:
sudo apt-get install samba
Настройка
После установки samba отредактируйте /etc/samba/smb.conf. Измените атрибут workgroup на соответствующий вашей сети и замените security на user:
workgroup = EXAMPLE . security = user
В секции [printers] измените опцию guest ok на yes:
browsable = yes guest ok = yes
После изменений в smb.conf перезагрузите Samba:
sudo restart smbd sudo restart nmbd
Конфигурация Samba по умолчанию автоматически разделяет любые установленные принтеры. Просто установите принтер локально на ваших клиентах Windows.