CUPS: отвратительная работа расшаренного принтера

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

storm2005
Сообщения: 136

CUPS: отвратительная работа расшаренного принтера

Сообщение storm2005 »

ОС debian squeeze. Принтер hp 1022. Печать осуществляется локально и по сети — с windows (1с) и linux (debian squeeze). Подключение по всех случаях через http.
Принтер замечательно работал и я уже подумал, что наконец то закончился глюкодром при работе принтеров в linux (после сноса ASP11.2 и установки debian squeeze).

И тут я совершил «ошибку». Отдал принтер на ТО, а вместо него установил такую же модель. Здесь стоит обратить внимание, что принтер при подключении к компьютеру сам определился. Но имя его меня не устраивало и я произвел установку принтера вручную, т. к. интервейс капса не позволяет переименовать принтер.

Запустил тестовую страницу. Локально печатает. По сети с винды печатает. С клиента linux не печатает.

На клиентах linux принтер я не устанавливал. Т. к. увидел, что принтер установился автоматически.

Но это автоматически нифига не печатает!

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

Вот что капс гадит в лог на клиенте

error_log

Код: Выделить всё

D [28/Dec/2009:09:34:50 +0200] [Job 8] Connecting to 192.168.37.174:49631
D [28/Dec/2009:09:34:50 +0200] [Job 8] Подключение к принтеру…
D [28/Dec/2009:09:34:50 +0200] [Job 8] STATE: -connecting-to-device
D [28/Dec/2009:09:34:50 +0200] [Job 8] Подключен к принтеру…
D [28/Dec/2009:09:34:50 +0200] [Job 8] Connected to 192.168.37.174:49631 (IPv4)...
D [28/Dec/2009:09:34:50 +0200] [Job 8] Getting supported attributes...
D [28/Dec/2009:09:34:50 +0200] [Job 8] Set job-printer-state-message to "Целевой принтер не существует!", current level=ERROR
D [28/Dec/2009:09:34:50 +0200] [Job 8] Backend returned status 4 (stop printer)
D [28/Dec/2009:09:34:50 +0200] [Job 8] Printer stopped due to backend errors; please consult the error_log file for details.
D [28/Dec/2009:09:34:50 +0200] [Job 8] End of messages
D [28/Dec/2009:09:34:50 +0200] [Job 8] printer-state=5(stopped)
D [28/Dec/2009:09:34:50 +0200] [Job 8] printer-state-message="Целевой принтер не существует!"
D [28/Dec/2009:09:34:50 +0200] [Job 8] printer-state-reasons=paused
E [28/Dec/2009:09:34:50 +0200] Returning IPP client-error-bad-request for Get-Jobs (ipp://localhost/jobs/) from localhost
E [28/Dec/2009:09:39:25 +0200] [CGI] Saw EOF, expected '}'!
E [28/Dec/2009:09:42:08 +0200] [CGI] Saw EOF, expected '}'!


А это на сервере печати

error_log

Код: Выделить всё

E [28/Dec/2009:09:09:49 +0200] Returning IPP client-error-bad-request for Get-Jobs (ipp://localhost/jobs/) from localhost
W [28/Dec/2009:09:29:08 +0200] [Job 1628] Printer fault!
E [28/Dec/2009:09:29:08 +0200] Returning IPP client-error-bad-request for Get-Jobs (ipp://localhost/jobs/) from localhost
W [28/Dec/2009:09:29:27 +0200] [Job 1629] Printer fault!
E [28/Dec/2009:09:29:27 +0200] Returning IPP client-error-bad-request for Get-Jobs (ipp://localhost/jobs/) from localhost
E [28/Dec/2009:09:42:35 +0200] [CGI] Saw EOF, expected '}'!
W [28/Dec/2009:09:43:02 +0200] [Job 1630] Printer fault!
E [28/Dec/2009:09:43:02 +0200] Returning IPP client-error-bad-request for Get-Jobs (ipp://localhost/jobs/) from localhost
E [28/Dec/2009:09:43:04 +0200] [CGI] Saw EOF, expected '}'!
E [28/Dec/2009:09:43:06 +0200] Returning IPP client-error-bad-request for Get-Jobs (ipp://localhost/jobs/) from localhost
E [28/Dec/2009:09:43:06 +0200] Returning IPP client-error-bad-request for Get-Jobs (ipp://localhost/jobs/) from localhost
E [28/Dec/2009:09:43:08 +0200] Returning IPP client-error-bad-request for Get-Jobs (ipp://localhost/jobs/) from localhost
E [28/Dec/2009:09:43:14 +0200] [CGI] Saw EOF, expected '}'!
E [28/Dec/2009:09:44:55 +0200] [CGI] Saw EOF, expected '}'!
E [28/Dec/2009:09:46:16 +0200] [CGI] Saw EOF, expected '}'!
E [28/Dec/2009:09:58:23 +0200] [CGI] Saw EOF, expected '}'!



Конфиг сервера (к которому подключен принтер)

krigko:~# grep -v '^#' /etc/cups/cupsd.conf |sed /^$/d

Код: Выделить всё

LogLevel warn
MaxLogSize 0
SystemGroup lpadmin
Port 49631
Listen /var/run/cups/cups.sock
<Location /printers>
  Order allow,deny
  Allow 192.168.37.
</Location>
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseRemoteProtocols CUPS
BrowseAddress @LOCAL
BrowseLocalProtocols CUPS dnssd
DefaultAuthType Basic
<Location />
  # Allow shared printing and remote administration...
  Order allow,deny
  Allow @LOCAL
</Location>
<Location /admin>
  # Allow remote administration...
  Order allow,deny
  Allow @LOCAL
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  # Allow remote access to the configuration files...
  Order allow,deny
  Allow @LOCAL
</Location>
<Policy default>
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit CUPS-Authenticate-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit All>
    Order deny,allow
  </Limit>
</Policy>
<Policy authenticated>
  <Limit Create-Job Print-Job Print-URI>
  AuthType Default
  Order deny,allow
</Limit>
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
  </Limit>
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
  AuthType Default
  Require user @SYSTEM
  Order deny,allow
    </Limit>
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
      </Limit>
  <Limit Cancel-Job CUPS-Authenticate-Job>
      AuthType Default
      Require user @OWNER @SYSTEM
      Order deny,allow
        </Limit>
  <Limit All>
        Order deny,allow
          </Limit>
</Policy>



Конфиг одного из клиентов (debian squeeze)

admin:~# grep -v '^#' /etc/cups/cupsd.conf |sed /^$/d

Код: Выделить всё

LogLevel warn
MaxLogSize 0
SystemGroup lpadmin
Listen localhost:631
Listen /var/run/cups/cups.sock
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS dnssd
DefaultAuthType Basic
<Location />
  Order allow,deny
</Location>
<Location /admin>
  Order allow,deny
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>
<Policy default>
  # Job-related operations must be done by the owner or an administrator...
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  # All administration operations require an administrator to authenticate...
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  # All printer operations require a printer operator to authenticate...
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  # Only the owner or an administrator can cancel or authenticate a job...
  <Limit Cancel-Job CUPS-Authenticate-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit All>
    Order deny,allow
  </Limit>
</Policy>
<Policy authenticated>
  # Job-related operations must be done by the owner or an administrator...
  <Limit Create-Job Print-Job Print-URI>
    AuthType Default
    Order deny,allow
  </Limit>
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
    AuthType Default
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  # All administration operations require an administrator to authenticate...
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  # All printer operations require a printer operator to authenticate...
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  # Only the owner or an administrator can cancel or authenticate a job...
  <Limit Cancel-Job CUPS-Authenticate-Job>
    AuthType Default
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit All>
    Order deny,allow
  </Limit>
</Policy>



Пара скриншотов с клиента
Там где "Location Unknown" это те принтера которые самоустановлись

Изображение

Это принтер установленный ручками и который нормально печатает
Изображение

А это самоустановившийся принтер, который нихера не печатает.
Стоит обратить внимание, что в строке браузера вэб-морда сервера печати. На клиенте как будто принтер не установлен, а лишь установлен ярлык для него. Т. е. при выборе этого принтера кидает на сервер печати. Тестовая страница при запуске с сервера печати печатает.
Изображение
Спасибо сказали:
storm2005
Сообщения: 136

Re: CUPS: отвратительная работа расшаренного принтера

Сообщение storm2005 »

Нашел способ убрать самоустанавливающиеся принтера. Все весьма тривиально. Необходимо в веб интерфейсе капса во вкладке Администрирование снять галку с параметра "Показать принтеры, использующиеся в других системах"
Спасибо сказали: