PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Von Windows auf Cups, kein Zugriff



MrPacman
05.04.08, 10:52
Hallo zusammen,
habe ein Problem mit meinem Linux-Server den ich u.a.als Print-Server nutzen möchte. Hoff jemand kann mir hierbei weiter helfen.

Das Problem ist dass ich von einem Windows-Rechner aus keine Berechtigung habe auf den installierten Drucker unter Cups zu drucken.

Drucken local unter Linux funktioniert, auch die Testseite unter der Cups-Weboberfläche wird einwandfrei gedruckt.

Das Problem scheint an der authorisierung zu liegen!

Zur Konfiguration :
OS : Debian 2.6.18.dfsg.1-18etch1
Drucker : Brother HL-2040 (angeschlossen am USB Port)
Cups : 1.2.7

lpinfo -v -l


network socket
network beh
direct usb://Brother/HL-2040%20series
network http
network ipp
network lpd
network smb


cups.conf


ServerName 192.168.178.200
ServerRoot /etc/cups

Deny from All
Allow from All
Order Deny,Allow

User lp
Group lp
SystemGroup lpadmin

DefaultAuthType Digest
DefaultEncryption Required

BrowseLocalOptions encryption=required
BrowseRemoteOptions encryption=required

Port 631
SSLPort 555

ServerKey /etc/cups/ssl/server.key
ServerCertificate /etc/cups/ssl/server.crt

LogLevel debug
AccessLog /var/log/cups/access_log
ErrorLog /var/log/cups/error_log
PageLog /var/log/cups/page_log

DefaultLanguage de
printcap /etc/printcap

<Location />
AuthType Digest
Order deny,allow
Allow @LOCAL
</Location>

<Location /printers>
AuthType Digest
Order deny, allow
Deny From All
Allow From 192.168.178.*/255.255.255.0
Allow From localhost
</Location>

<Location /admin>
AuthType Digest
Order deny,allow
Allow @LOCAL
Allow From 192.168.178.*/255.255.255.0
Allow From localhost
</Location>

<Location /admin/conf>
AuthType Digest
Require user @SYSTEM
Order deny,allow
Allow @LOCAL
Allow From 192.168.178.*/255.255.255.0
Allow From localhost
</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>
Require user @OWNER @SYSTEM @lp
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Set-Printer-Attributes 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-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default CUPS-Add-Device CUPS-Delete-Device>
Require user @SYSTEM @lp
Order deny,allow
</Limit>
<Limit Cancel-Job>
Require user @OWNER @SYSTEM @lp
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>


printers.conf


<DefaultPrinter Brother_HL-2040_series_USB_1>
Info Brother HL-2040
Location Lan Printer
DeviceURI usb://Brother/HL-2040%20series
State Idle
StateTime 1206528385
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
AllowUser @lp
OpPolicy default
ErrorPolicy abort-job
</Printer>


Mit lppasswd habe ich den Benutzer "stefan" angelegt der zur Gruppe "lp" gehört.

Nach starten des Cups-deamon werden folgende informationen in die error_log geschrieben:


D [05/Apr/2008:11:31:05 +0200] cupsdDenyIP(loc=0x63338(/printers), address=0:0:0:0, netmask=0:0:0:0)
I [05/Apr/2008:11:31:05 +0200] Loaded configuration file "/etc/cups/cupsd.conf"
I [05/Apr/2008:11:31:05 +0200] Using default TempDir of /var/spool/cups/tmp...
I [05/Apr/2008:11:31:05 +0200] Cleaning out old temporary files in "/var/spool/cups/tmp"...
I [05/Apr/2008:11:31:05 +0200] Configured for up to 100 clients.
I [05/Apr/2008:11:31:05 +0200] Allowing up to 100 client connections per host.
I [05/Apr/2008:11:31:05 +0200] Using policy "default" as the default!
I [05/Apr/2008:11:31:05 +0200] Full reload is required.
I [05/Apr/2008:11:31:05 +0200] Loaded MIME database from '/etc/cups': 34 types, 39 filters...
D [05/Apr/2008:11:31:05 +0200] Loading printer Brother_HL-2040_series_USB_1...
D [05/Apr/2008:11:31:05 +0200] Loading class Druckergruppe1...
I [05/Apr/2008:11:31:05 +0200] Loading job cache file "/var/cache/cups/job.cache"...
I [05/Apr/2008:11:31:05 +0200] Full reload complete.
I [05/Apr/2008:11:31:05 +0200] Listening to :::631 on fd 2...
I [05/Apr/2008:11:31:05 +0200] Listening to 0.0.0.0:631 on fd 3...
I [05/Apr/2008:11:31:05 +0200] Listening to :::555 on fd 4...
I [05/Apr/2008:11:31:05 +0200] Listening to 0.0.0.0:555 on fd 5...


Jetzt gehe ich unter Windows und füge den Drucker hinzu...
Drucker hinzufügen -> Netzwerkdrucker -> Verbindung mit einem...
URL: https://nsl1:555/Brother_HL-2040_series_USB_1

Danach habe ich die Möglichkeit mit einem Benutzernamen und Kennwort zu verbinden...
Ich gebe hier meinen mit lppasswd erstellten Benutzer ein...
Es erscheint die Meldung dass ich auf den Drucker keinen Zugriff habe...

Die error_log spuckt folgendes aus:


D [05/Apr/2008:11:38:20 +0200] cupsdAcceptClient: 9 from 192.168.178.101:555 (IPv4)
D [05/Apr/2008:11:38:20 +0200] encrypt_client: 9 Connection from 192.168.178.101 now encrypted.
D [05/Apr/2008:11:38:20 +0200] cupsdReadClient: 9 POST /Brother_HL-2040_series_USB_1 HTTP/1.1
D [05/Apr/2008:11:38:20 +0200] cupsdAuthorize: No authentication data provided.
D [05/Apr/2008:11:38:20 +0200] cupsdNetIFUpdate: "lo" = localhost...
D [05/Apr/2008:11:38:20 +0200] cupsdNetIFUpdate: "eth0" = 192.168.178.200...
D [05/Apr/2008:11:38:20 +0200] cupsdNetIFUpdate: "lo" = localhost...
D [05/Apr/2008:11:38:20 +0200] cupsdNetIFUpdate: "eth0" = fe80::218:39ff:fe89:56b0%eth0...
D [05/Apr/2008:11:38:20 +0200] cupsdSendError: 9 code=401 (Unauthorized)
D [05/Apr/2008:11:38:20 +0200] cupsdCloseClient: 9
I [05/Apr/2008:11:38:20 +0200] cupsdCloseClient: SSL shutdown successful!
D [05/Apr/2008:11:38:20 +0200] cupsdCloseClient: 9


Meiner Meihnung nach ist die Meldung No authentication data provided.
die Ursache warum der Zugriff nicht stattfindet. :confused:
Unter Windows habe ich in der Registry schon den Wert "requiresignorseal" auf "0" gesetzt damit Windows die Verbindung verschlüsselt aufbaut.

Was ist jetzt noch falsch, was kann ich noch probieren???
Als URL habe ich schon folgendes probiert:
https://nsl1:555/printer/Brother_HL-2040_series_USB_1
http://nsl1:555/printer/Brother_HL-2040_series_USB_1
http://nsl1:631/printer/Brother_HL-2040_series_USB_1
http://nsl1:631/Brother_HL-2040_series_USB_1

Hoff ihr könnt mir bei meinem Problem weiter helfen da ich langsam am verzweifeln bin. :(


Grüße,
Stefan

Dirk.M
05.04.08, 12:08
Hallo,

du hast in deine cups.conf den Eintrag




Deny from ALL



kommentiere diesen Eintrag mit # am Anfang aus

# Deny from ALL

Gruß Dirk

MrPacman
05.04.08, 12:43
Danke für die schnelle Antwort.
Habe ich probiert, hat aber leider nichts gebracht.
Die "Deny"-Direktive steht vor der "allow"-Direktive, und da "Order deny,allow" steht werden alle Hosts/Ports die in allow stehen zugelassen, alles andere wird gespeert.

Hier meine überarbeitede cupsd.conf



ServerName 192.168.178.200
ServerRoot /etc/cups

# BrowseDeny from all
BrowseAllow 192.168.178
BrowseOrder deny,allow
BrowseLocalOptions encryption=required
BrowseRemoteOptions encryption=required

User lp
Group lp
SystemGroup lpadmin

DefaultAuthType Digest
DefaultEncryption Required

Port 631
SSLPort 555

ServerKey /etc/cups/ssl/server.key
ServerCertificate /etc/cups/ssl/server.crt

LogLevel debug
AccessLog /var/log/cups/access_log
ErrorLog /var/log/cups/error_log
PageLog /var/log/cups/page_log

DefaultLanguage de
printcap /etc/printcap

<Location />
AuthType Digest
Order deny,allow
Allow @LOCAL
</Location>

<Location /printers>
AuthType Digest
Order deny, allow
Deny From All
Allow From 192.168.178.*/255.255.255.0
Allow From localhost
</Location>

<Location /admin>
AuthType Digest
Order deny,allow
Allow @LOCAL
Allow From 192.168.178.*/255.255.255.0
Allow From localhost
</Location>

<Location /admin/conf>
AuthType Digest
Require user @SYSTEM
Order deny,allow
Allow @LOCAL
Allow From 192.168.178.*/255.255.255.0
Allow From localhost
</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>
Require user @OWNER @SYSTEM @lp
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Set-Printer-Attributes 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-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default CUPS-Add-Modify-Printer CUPS-Delete-Printer>
Require user @SYSTEM @lp
Order deny,allow
</Limit>
<Limit Cancel-Job>
Require user @OWNER @SYSTEM @lp
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>


Die error_log spuckt aber dennoch das selbe aus und ich habe leider immer noch keinen Zugriff auf den Drucker.