Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  frox
  SARG
  samba & ClamAV
  named
  proftpd
  cacti
  SAMBA+AD+NT ACL
  MySQL
  hylafax
  DDNS+DHCP
  cvsupd
  Samba как PDC
  Основы LDAP
  LDAP+SSL
  LDAP auth
  knockd
  rsync
  MRTG
  Rejik
  Jabber - OpenFire
  Samba(PDC) + Ldap
  squid+AD
  ATSlog
  vsftpd
  LDAP: samba, dns, dhcp
  Free-SA
  cups-samba на samba+AD
  irc + services
  Nagios - мониторинг сети
  TeamSpeak
  icecast2
  verlihub (p2p)
  Icecast2 + Darkice
  OOPS
  vsftpd + mysql
  Amanda
  HAVP
  Рыбалка на FreeBSD
  DNS сервер NSD
  DNS сервер Unbound
  mpd5, msmtp, dynamic ip
  ProFTPd + LDAP
  OpenVPN + LDAP
  Samba (PDC+BDC)
  BIND & AD
  POWERDNS
  3proxy
  eGroupWare
  GLPI
  SugarForge CRM
  Bacula
  Mysql - базовое описание
  Asterisk IP PBX
  Samba & CUPS & AD & ACL
  SMSTools 3
  Samba+ NT ACL
  phpmyadmin
  1С:Предприятие 8.1
  PurefFTPd
  qemu network
  AimSniff
  comms/scmxx
  Zoneminder
  Openfire Jabber Server
  Zoneminder 2
  Принт-Сервер Samba+LPD & AD
  Кластер OpenLDAP 2.4
  Lightsquid
  Установка Zabbix-1.6
  Установка net2ftp
  VSFTPD + AD && MySQL
  Network UPS Tools
  mpd5 L2TP client
  Apache 2.2 as a proxy
  ejabberd+mysql+icq
  HotSpot
  Установка и использование Zenoss на FreeBSD 7.2
  mysql-proxy
  DNS zones
  squid+sams+sqstat
  transmission-daemon
  Squid+AD (group access)
  SysAid Server
  MySQL Master+Master
  proftpd file auth&quota
  usb_modeswitch
  NSDadmin
  iperf Тест скорости между хостами
  Простой факс-сервер mgetty+sendfax
  SQUID-MultiCpuSystem
  vsftpd + system users
  Syslog server
  Температура в серверной
  Nagios+Digitemp
  Avast! FreeBSD
  Настройка git+gitosis
  Firefox SyncServer
  Scan+Print server FreeBSD 9
  proftpd,pgsql,web
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> программы —> cups-samba на samba+AD

CUPS - сервер печати с использованием samba+AD

Автор: Al.


    Решил в качестве эксперимента настроить файловый сервер на самбе, с аутентификацией пользователей в AD. После танцев с бубном наконец-то получил билет кербереса и все заработало (самбу настраивал по статье urgor'a SAMBA+AD+NT ACL, за что ему огроменное спасибо). Вместе с самбой поставил и CUPS. Вот только сетевой принтер фирмы HP на стандартных CUPS'овых дровах работать не захотел.... И так, начнем превращение нашей самбы еще и в принт-сервер. Предполагается, что самба+купс уже настроены и аутентификация пользователей в AD проходит успешно.
   Заходим на http://192.168.0.201:631 и пробуем добавить принтер. Если есть сетевые принтеры(имеющие свой IP) - купс часть нанюхает сам, но не все. Итак, добавляем принтер.
   При попытке напечатать тестовую страницу у меня появилась ошибка  "Unsupported format 'application/postscript'!". ищем дрова на принтеры HP, не забыв перед этим обновить коллекцию портов :)
[srv:/usr/ports]#make search name=hplip
Port:   hplip-1.6.7
Path:   /usr/ports/print/hplip
Info:   Drivers and utilities for HP Printers and All-in-One devices

   Ставим. Если принтер не HP, то, возможно, подойдет Gimp-print. Официальный сайт – gimp-print.sourceforge.net

   Устанавливаем принтер заново, но уже с драйверами из свежеустановленного пакета. (В моем случае было несколько драйверов для моей модели. Я поставил с PostScript).
   Пробуем напечатать тестовую страницу - у меня получилось. Таже принтер должен появиться рядом с расшаренными папками (смотрим с виндусового компа).
   Можно даже попробовать его подключить, но драйверов сервак не даст,а предложит выбрать из существующих или установить с диска. Я поставил первые попавшиеся (даж не от моего прринтера, даж не HP). Тестовая страница теперь печатается еще и из винды.
   А дальше начинается самое интересное. Как заставить наш принт-сервер отдавать клиентам дрова, шоб не пришлось каждый раз бегать с диском? Вот этим-то мы и займемся. Ради этого,собственно,я и писал эту статью... Отвечает за все это дело пакет cups-samba. Его и ставим.
[srv:/usr/ports]#make search name=cups-samba
Port:   cups-samba-5.0.r3
Path:   /usr/ports/print/cups-samba
Info:   The Common UNIX Printing System: MS Windows client drivers

   После установки видим подробную инструкцию к действиям. Ей и последуем.
   В smb.conf в секцию [global] дописываем (если такие параметры есть-заменяем)
        load printers = yes
        printing = cups
        printcap name = cups

   Добавляем секции для принтеров (приводим их к такому виду)
[printers]
        comment = All Printers
        path = /var/spool/samba
        browseable = no
        public = yes
        guest ok = yes
        writable = no
        printable = yes
        printer admin = root
[print$]
        comment = Printer Drivers
        path = /usr/local/share/cups/drivers
        browseable = yes
        # guest ok = yes works too
        guest ok = no
        read only = yes
        write list = root

и перезапускаем самбу
/usr/local/etc/rc.d/samba restart

   А дальше - проверка Вашей везучести:
cupsaddsmb -U root cups_printer_1 cups_printer_2


где cups_printer_1 - имя вашего принтера
или
cupsaddsmb -U root -H localhost -a -v

для добавления всех принтеров.

   Как выглядит успешное завершение этой программы я не знаю, на если на экране бегут строчки,где в блоках меняется только /var/spool/cups/tmp/470334f09f627, или есть сообщения об ошибке (driver not installed, напр) то, судя по всему, Вам не повезло... Жмем ctrl+C и готовимся к танцам.. С бубном...
   Весь процесс состоит из 3 шагов, но для начала, находим на виндовой машине файлы ps5ui.dll, pscript.hlp, pscript.ntf, pscript5.dll и копируем их в /usr/local/share/cups/drivers. Все имена файлов должны быть в НИЖНЕМ регистре.

  • 1. Создаем необходимые папки и копирует туда файлы (одна длиная строка!)
    smbclient -H //localhost/print$ -Uroot -c 'mkdir W32X86;put /var/spool/cups/tmp/470334eed261d W32X86/hp2420_y3.ppd;put /usr/local/share/cups/drivers/ps5ui.dll W32X86/ps5ui.dll;put /usr/local/share/cups/drivers/pscript.hlp W32X86/pscript.hlp;put /usr/local/share/cups/drivers/pscript.ntf W32X86/pscript.ntf;put /usr/local/share/cups/drivers/pscript5.dll W32X86/pscript5.dll'

    суть этой команды такова: заходим smbclient'ом на //localhost/print$ (это тоже шара,просто скрытая)
    и выполняем команды начиная с mkdir W32X86.Основная проблема,которая может возникнуть на этом шаге-запрет записи.Я поставил права доступа 777 на /usr/local/share/cups/drivers и заменил  write list = root на
    write list = root, guest, nobody в smb.conf
    после успешного выполнения в /usr/local/share/cups/drivers должна появиться папка W32X86.

    и еще - снова одной строкой

    smbclient //localhost/print$ -Uroot -c 'put /usr/local/share/cups/drivers/cups6.ini W32X86/cups6.ini;put /usr/local/share/cups/drivers/cupsps6.dll W32X86/cupsps6.dll;put /usr/local/share/cups/drivers/cupsui6.dll W32X86/cupsui6.dll'

  • 2. В smb.conf меняем
    disable spoolss = Yes
    

    на
    disable spoolss = No
    

    далее запускаем
    cupsaddsmb -U root -H localhost -a -v
    

    и ищем там строчку:
    rpcclient localhost -N -A /var/spool/cups/tmp/47034d38731a2 -c 'adddriver  [...]'
    

    и запускаем ее как:
    rpcclient localhost -Uroot -c 'adddriver  [...]'
    

  • 3. Теперь надо сказать самбе какой драйвер для какого принтера
    rpcclient localhost -N -U'root%toor' -c 'setdriver printer_name driver_name'
    

       Обычно printer_name и driver_name идентичны. Если получаем:
    result was WERR_ACCESS_DENIED
    

    то пробуем:
    1) в секции [global] дописываем 'use client driver = no' - говорит клиенту стягивать дрова на приттер с нашего cups-сервака
    2)Меняем /etc/pam.d/login на стандартный и smb.conf - на дефолтовый,при этом убираем из него все "лишнее",оставляя минимум.
    После завершения установки дров все ставим на место и рестартим самбу.

    ВСЕ!
    После успешного завершения при подключении сетевого принтера дрова на винду должны ставиться автоматически

    Эта статья не претендует на подробное руководство по настройке CUPS-SAMBA. Скорее, просто мой личный опыт работы.. Наверняка, есть более простой и удобный способ настройки. Статья писалась уже после настройки и запуска сервака, на память. Так что возможны неточности. Если есть идеи или проблемы - пишите. Будем вместе разбираться :)



    размещено: 2007-10-04,
    последнее обновление: 2007-10-04,
    автор: Al

    оценить статью:

    Денис, 2007-10-05 в 13:00:06

    плохо описано почему использованы именно эти файлы для принтера печати. откдуа вообще они взялись.

    Al, 2007-10-06 в 13:50:50

    Денис:
    Плохо описано, какие именно "файлы для принтера" ты имел ввиду (:
    Вообще я просто читал маны(rpcclient, например)там четко сказано,для каких процедур  (adddriver, втом числе) какие параметры.Если ты про smbclient - то это простое банальное копирование общих файлов, необходимых для установки новых пост-скрипт драйверов для винды(вроде именно так написано в мане по купсу).Задай вопрос конкретней.Можешь на мыло или в асю.Постараюсь ответить :)

    Денис, 2007-10-08 в 16:44:50

    да, действительно непонятно какие дрйвера нужны для принтеров чтобы лежали в папке на шаре, и почему именно эти файлы. ушел читать маны :-)

    Al, 2007-10-08 в 18:09:46

    Microsoft Postscript Drivers For Windows
    The base driver for Windows 2000 and higher is the Microsoft PostScript driver, which is available on any system running Windows 2000 or higher in the %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 folder.

    The CUPS printer driver is preferred over the Microsoft driver since it supports the page-label, job-billing, and job-hold-until options fully on all printers. However, currently only Windows 2000 and higher is supported by the Microsoft driver, so you will also need to get the Adobe driver to support Windows 95, 98, and Me clients. The Adobe and Microsoft drivers for Windows 2000 are identical.

    Once you have extracted the driver files, copy them to the /usr/local/share/cups/drivers directory exactly as named below:

       [Windows 2000 and higher]
       ps5ui.dll
       pscript.hlp
       pscript.ntf
       pscript5.dll

    Note: Unlike Windows, case is significant - make sure that you use the lowercase filenames shown above, otherwise cupsaddsmb will fail to export the drivers.
    вот,в принципе,и все,что есть в манах.....
    если вопрос принципиален-пиши - попробуем разобраться

    Al, 2007-10-31 в 17:26:17

    если после установки hplip в купсе дрова для принтеров hp  не появились,т.е. их там всего два,тогда смотрим,есть ли симлинк:
    cd /usr/local/share/cups/model/
    ln -s /usr/local/share/ppd foomatic-ppds

    Al, 2007-11-02 в 17:05:17

    Если пишет WERR_UNKNOWN_PRINTER_DRIVER, ставим
    chmod 777 /usr/local/share/cups/drivers/W32X86

    Al, 2007-11-02 в 17:27:17

    Перед установкой пробуем ставить в smb.conf
    security = share
    а потом пробуем
    cupsaddsmb -H 127.0.0.1 -v -a
    у меня на одном компе сразу прокатило

    balas, 2007-11-12 в 19:17:54

    Спасибо, Al, очень помогла статья. Особенно камент про симлинк :)) (все остальное заработало, а с этой фигней два дня мучился)

    Sergey, 2008-02-05 в 22:48:58

    Настраивал, по ману, нашел все там, при возниконовении проблем наткнулся на эту страницу.
    Если не трудно не могли бы Вы уточнить для меня некоторые моменты:

    1)В RAW-формате принтер работает без проблем. Подключается и печатает на ура. Но вот бывают случаи, когда в винде пишет что принтер не доступен, короче нельзя получить его статус(но печатать можно). Если просто перезапустить сервис самбы, принтер сразу переходит в винде в состояние "готов". С чем это может быть связано. Система: Fedora 8, ну и собственно все последние stable версии samba, cups и т.д.

    2) Так до конца и не понял - как раздавать дрова. Имеется например Xerox 3125. Что мне нужно качать и куда заливать. Скинул к примеру
      ps5ui.dll
      pscript.hlp
      pscript.ntf
      pscript5.dll
    в /usr/local/share/cups/drivers
    делаю cupsaddsmb -v -a
    Пишет что не найден PPD файл для принтера Xerox 3125.
    Т.е. не понятно, какие мы будем дрова отдавать клиенту, натуральные под Windows для Xerox 3125 или нечто смешанное...

    babay, 2008-04-04 в 10:58:39

    Если выскакивает ошибка - result was WERR_ACCESS_DENIED, не нужно убирать на дефолтные файлы, просто пользователь root скорее всего не существует в домене, и пользователь который выполняет команду setdriver, должен иметь соответсвтующие права админа в домене.

    opt1k, 2008-11-26 в 11:32:03

    пол дня убил, вот некоторые моменты:
    rpcclient -Uroot
    там пишем
    adddriver "Windows NT x86" "HP LaserJet 5Si/5Si MX PS":pscript5.dll:hplj5si1.ppd:ps5ui.dll:pscript.hlp::pscript.nt
    меняем HP LaserJet 5Si/5Si MX PS и hplj5si1.ppd на своё
    далее
    setdriver your_printer_name your_driver_name
    your_printer_name - из cups'а

    jeweller, 2009-03-30 в 15:23:31

    Для принтеров  HP 1010 1018 1020 1022

    вот решение проблемы.

    http://www.sisadminov.net/freebsd/2.html

    Anaxion, 2009-10-21 в 13:38:05

    Ошибка - result was WERR_ACCESS_DENIED
    предыдущие решения не помогли, проделал:

    This command set rights of print operator to user john:

    net -U root -S localhost rpc rights grant john SePrintOperatorPrivilege

    after, check the permissions with this:

    net -U root -S localhost rpc rights list john
    Дрова подцепились

    Al, 2010-02-16 в 9:43:17

    Если пишет WERR_UNKNOWN_PRINTER_DRIVER, ставим
    chmod 777 /usr/local/share/cups/drivers/W32X86
    и на все вложенные файлы и папки!

    Al, 2010-06-15 в 13:15:42

    На самом деле все еще проще. При добавлении драйверов происходит авторизация_аутентификация в 2 этапа. В результате должны быть права
    1. На запись пользователя в шару с драйверами на самбе. Проверяем так
    smbclient //localhost/print$ -Uadm
    и пробуем создавать - удалять папки-файлы.
    adm - пользователь в AD, которого хотим сделать администратором принтеров
    2. На работу с принтерами через rpc. Добавляем эти привелегии нашему пользователю. adm - администратор домена
    net -v -S localhost -U adm rpc rights grant adm SePrintOperatorPrivilege

    #net rpc rights list            View available/assigned privileges
    #net rpc rights grant           Assign privilege[s]
    #net rpc rights revoke          Revoke privilege[s]

    #Возможные значения
    #SeMachineAccountPrivilege - Add machines to domain
    #SePrintOperatorPrivilege - Manage printers
    #SeAddUsersPrivilege - Add users and groups to the domain
    #SeRemoteShutdownPrivilege - Force shutdown from a remote system
    #SeDiskOperatorPrivilege        - Manage disk share
    #SeTakeOwnershipPrivilege - Take ownership of files or other objects


    #---------------------------------------------------------------------
    #Добавление виндового драйвера
    cupsaddsmb -U adm -H localhost -v [HP9050-UZB HP9050-UZB] [-a]
    Собственно, после этого добавление виндовых драйверов проходит из консоли и веб-морды без дополнительных манипуляций.

    pavel, 2010-12-17 в 10:11:29

    а как быть с очередью печати? ее не видно если клиент подключен через cups-smb....


    Оставьте свой комментарий:
    Ваше имя:   *
    e-mail:  
    жирный
    наклонный
    подчёркнутый
    ссылка
    цвет
    Нынешний год:   *
     


  • Хостинг HOST-FOOD

    2014-07-27, lissyara
    gmirror

    Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
    2013-08-20, zentarim
    Scan+Print server FreeBSD 9

    Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
    2011-11-20, BlackCat
    Разъём на WiFi-карту

    Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
    2011-09-14, manefesto
    Настройка git+gitosis

    Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
    2011-08-14, zentarim
    Wi-FI роутер + DHCP + DNS

    Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
    2011-06-15, -ZG-
    Охранная система на FreeBSD+LPT

    В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
    2011-03-13, terminus
    ng_nat

    Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
    2011-02-20, Капитан
    Nagios+Digitemp

    Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
    2011-02-17, Le1
    Zyxel Configuration

    Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
    2011-02-16, fox
    hast carp zfs ucarp cluster

    HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
    2011-02-04, BlackCat
    Восстановление ZFS

    История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
    2011-02-03, Капитан
    1-Wire

    Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
    2011-01-28, Капитан
    Температура в серверной

    Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
    2011-01-21, m4rkell
    Syslog server

    Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
    2011-01-07, lissyara
    Canon/gphotofs

    Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
    2010-12-13, Al
    IPSec

    Описание принципов работы IPSEC и способов аутентификации.
    2010-12-07, manefesto
    FreeBSD on flash

    Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
    подписка

        вверх      
    Статистика сайта
    Сейчас на сайте находится: 19 чел.
    За последние 30 мин было: 129 человек
    За сегодня было
    13247 показов,
    1143 уникальных IP
     

      Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
      Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.0407 секунд
    Из них PHP: 31%; SQL: 69%; Число SQL-запросов: 77 шт.
    Исходный размер: 175197; Сжатая: 28706