{"id":82,"date":"2010-08-10T17:15:21","date_gmt":"2010-08-10T15:15:21","guid":{"rendered":"https:\/\/caipirinha.spdns.org\/wp\/?p=82"},"modified":"2019-09-29T21:08:14","modified_gmt":"2019-09-29T19:08:14","slug":"cups","status":"publish","type":"post","link":"https:\/\/caipirinha.spdns.org\/wp\/?p=82","title":{"rendered":"CUPS"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Einf\u00fchrung<\/h2>\n\n\n\n<p>Als zentraler Druckdienst ist <strong>CUPS<\/strong> auf dem Caipirinha-Server eingerichtet. Am Server selbst h\u00e4ngen zwei Drucker:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>EPSON Stylus C84<\/strong> (Farbdrucker DIN A4)<\/li><li><strong>HP DeskJet 9800<\/strong> (Farbdrucker DIN A3)<\/li><\/ul>\n\n\n\n<p>Diese Drucker stehen sowohl f\u00fcr lokale Benutzer (auf dem \nCaipirinha-Server selbst) als auch f\u00fcr entfernte Benutzer zur Verf\u00fcgung,\n und zwar sowohl f\u00fcr Benutzer aus dem eigenen Subnetz als auch f\u00fcr \nBenutzer aus dem Internet. Letzteres erfordert aber, dass am DSL-Router \nder Port <strong>631<\/strong> (IPP) auf den Caipirinha-Server durchgeschaltet wird.\n<\/p>\n\n\n\n<p>Um CUPS benutzen zu k\u00f6nnen, m\u00fcssen folgende Pakete installiert werden:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>cups<\/li><li>cups-client<\/li><li>cups-drivers<\/li><li>cups-libs<\/li><li>cups-libs-32bit<\/li><li>gutenprint<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Konfigurationsdatei<\/h2>\n\n\n\n<p>Danach muss die Konfigurationsdatei <strong>\/etc\/cups\/cupsd.conf<\/strong> konfiguriert werden, so dass sie so aussieht:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># CUPS-Konfiguration\n#\n# 31.07.2010, Gabriel R\u00fceck\n#\n\nAutoPurgeJobs Yes\nBrowsing Off\nDefaultAuthType BasicDigest\nDefaultCharset utf-8\nDefaultEncryption IfRequested\nDefaultLanguage de\nErrorPolicy retry-job\nJobRetryInterval 300\nJobRetryLimit 864\nPort 631\nListen \/var\/run\/cups\/cups.sock\nLogLevel warn\nMaxLogSize 10485760\nPreserveJobFiles Yes\nServerAdmin administrator@caipirinha.homelinux.org\nServerCertificate \/etc\/apache2\/ssl.crt\/server.crt\nServerKey \/etc\/apache2\/ssl.key\/server.key\nServerTokens Minimal\n\n# Restrict access to the server...\n&lt;Location \/>\n  Allow from all\n&lt;\/Location>\n\n&lt;Location \/jobs>\n  AuthType BasicDigest\n  Require valid-user\n  Allow from all\n&lt;\/Location>\n\n&lt;Location \/printers>\n  Allow from all\n&lt;\/Location>\n\n&lt;Location \/printers\/EPSON_Stylus_C84>\n  Order Deny,Allow\n  Deny from  all\n  Allow from @LOCAL\n  Allow from 88.84.145.229\n&lt;\/Location>\n\n&lt;Location \/printers\/EPSON_Stylus_C84_extern>\n  AuthType BasicDigest\n  Require valid-user\n  Order Allow,Deny\n  Allow from all\n  Deny from localhost\n  Deny from 88.84.145.229\n&lt;\/Location>\n\n&lt;Location \/printers\/HP_Deskjet_9800>\n  Order Deny,Allow\n  Deny from  all\n  Allow from @LOCAL\n  Allow from 88.84.145.229\n&lt;\/Location>\n\n&lt;Location \/printers\/HP_Deskjet_9800_extern>\n  AuthType BasicDigest\n  Require valid-user\n  Order Allow,Deny\n  Allow from all\n  Deny from localhost\n  Deny from 88.84.145.229\n&lt;\/Location>\n\n&lt;Location \/admin>\n  AuthType BasicDigest\n  Require user root\n  Encryption Required\n  Allow from all\n&lt;\/Location><\/pre>\n\n\n\n<p>Einige Einstellungen sollen n\u00e4her erl\u00e4utert werden:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>DefaultAuthType<\/strong> legt den Typ der Authentifizierungsmethode fest. Die sicherste Methode w\u00e4re, ausschlie\u00dflich auf <strong>Digest<\/strong> zu setzen, aber damit hatten bei mir verschiedene Drucker-Clients nicht funktioniert. Deswegen habe ich hier <strong>BasicDigest<\/strong> eingestellt.<\/li><li><strong>DefaultEncryption<\/strong> ist hier auf <strong>IfRequested<\/strong> \neingestellt. Damit l\u00e4sst man auch unverschl\u00fcsselte Verbindungen zu. Das \nist unsch\u00f6n, aber leider unterst\u00fctzt gerade der CUPS-client noch immer \nkeine verschl\u00fcsselten Verbindungen auf entfernte CUPS-Server. Da ich \nauch Druck-Jobs von entfernten Linux-Maschinen annehme, konnte ich hier \nnicht die sichere Einstellung <strong>Required<\/strong> nehmen.<\/li><li>Die Einstellungen f\u00fcr <strong>ErrorPolicy<\/strong>, <strong>JobRetryInterval<\/strong> und <strong>JobRetryLimit<\/strong> legen fest, dass bei Problemen mit dem Drucker alle <strong>300s<\/strong> versucht wird, den Druck-Job erneut zum Drucker zu schicken, und das insgesamt <strong>864<\/strong>-mal, also genau 3 Tage lang.<\/li><li><strong>LogLevel<\/strong> ist eine n\u00fctzliche Option, wenn es beim Einrichten oder im sp\u00e4teren Betrieb zu Problemen kommt. Der hier eingestellte Modus <strong>warn<\/strong> h\u00e4lt die Log-Datei auf einer moderaten Gr\u00f6\u00dfe, bietet aber bereits mehr Information als der Modus <strong>error<\/strong>. Die Modi <strong>info<\/strong> und <strong>debug<\/strong> k\u00f6nnen bei einer gezielten Fehlersuche n\u00fctzlich sein, lassen allerdings die Log-Datei auch schnell anwachsen.<\/li><li><strong>PreserveJobFiles Yes<\/strong> erm\u00f6glicht es, einmal gedruckte \nDokumente erneut auf den Drucker zu schicken. So kann man einen \nDruck-Job nochmals starten, wenn sich beim entfernten Drucken das Papier\n im Drucker verheddert und der Ausdruck M\u00fcll geworden ist. Druckt man \naber geheime Dokumente, ist dies allerdings ein Sicherheitsrisiko, und \nmann sollte diese Option deaktivieren.<\/li><li>Als alleiniger Port wird Port 631 benutzt, und zwar sowohl f\u00fcr die \nverschl\u00fcsselte als auch f\u00fcr die nicht verschl\u00fcsselte Kommunikation.<\/li><li>Als <strong>Server-Zertifikat<\/strong> und <strong>ServerKey<\/strong> f\u00fcr den \nSSL-Betrieb verweisen wir auf die jeweiligen Apache-Dateien, damit nicht\n unn\u00f6tigerweise mehrere SSL-Zertifikate f\u00fcr verschiedene Applikationen \nerstellt werden m\u00fcssen.<\/li><\/ul>\n\n\n\n<p>Am Ende der Konfigurationsdatei befinden sich dann die Einstellungen,\n welche spezifisch f\u00fcr einzelne Verzeichnisse und f\u00fcr die installierten \nDrucker gelten. Es ist auff\u00e4llig, dass jeder Drucker zweimal aufgelistet\n ist. Urspr\u00fcnglich war meine Idee hier einmal, dass Benutzer auf dem \nCaipirinha-Server die Variante mit lokaler Filterung (also Verarbeitung \nund Rasterung) benutzen, w\u00e4hrend alle anderen Benutzer, und zwar sowohl \ndie Benutzer aus dem LAN als auch diejenigen aus dem Internet die \nVariante ohne lokale Filterung benutzen sollten. Daf\u00fcr m\u00fcssen nat\u00fcrlich \nalle fremde Benutzer den entsprechenden Druckertreiber f\u00fcr die beiden \neingesetzten Drucker installiert haben, was dann eben auch zahlreiche \nEinstellm\u00f6glichkeiten beim Ausdruck bietet. Die Varianten ohne Filterung\n verlangen auch eine Authentifizierung, so dass nicht einfach jeder aus \ndem Internet einen Druck-Job auf meine Drucker schicken kann. Leider \nergaben sich dabei einige Probleme, und zwar:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Windows XP konnte \u00fcber Port 631 auf den Caipirinha-Server \ndrucken und dabei eine g\u00fcltige Authentifizierung durchf\u00fchren. Windows \nVista und Windows 7 schaffen dies leider nicht mehr. Aus unerfindlichen \nGr\u00fcnden hat Microsoft das Protokoll ge\u00e4ndert. Deswegen musste ich die \nVarianten ohne Authentifizierung, und das sind eben die mit lokaler \nFilterung, f\u00fcr Benutzer im LAN freigeben.<\/li><\/ul>\n\n\n\n<p>Auf einer meiner Maschinen ([rueeck.name]) ist lediglich ein \nCUPS-Client installiert, der keine lokale Filterung vornehmen kann. \nDeswegen muss diese Maschine auf die Varianten mit der lokalen Filterung\n zugreifen.\n<\/p>\n\n\n\n<p>Diese komplexen Regeln werden nun von den <strong>Allow<\/strong>&#8211; und <strong>Deny<\/strong>-Eintr\u00e4gen\n in den verschiedenen Varienten umgesetzt. Dabei kommt auch die \nstatische IP-Adresse von [rueeck.name], 88.84.145.229, zum Tragen.\n<\/p>\n\n\n\n<p>Bei den Verzeichnis-spezifischen Einstellungen ist noch zu beachten:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Das Verzeichnis <strong>http(s):\/\/caipirinha.homelinux.org:631\/<\/strong> ist aus CUPS-Sicht das <em>root<\/em>-Verzeichnis. Auf dieses Verzeichnis darf jeder zugreifen. Die Rechte daf\u00fcr sind im Abschnitt mit <strong>&lt;Location \/&gt;<\/strong> eingestellt.<\/li><li>Die installierten Drucker bzw. deren Betriebsbereitschaft (Abschnitt <strong>&lt;Location \/printers&gt;<\/strong>) kann in der aktuellen Konfiguration ebenfalls von jedem eingesehen werden.<\/li><li>Die Administration der Drucker (Abschnitt <strong>&lt;Location \/admin&gt;<\/strong>) darf nur von einem Benutzer <strong>root<\/strong> gemacht werden. Allerdings handelt es sich hierbei nicht um den Systemverwalter <em>root<\/em>, sondern um einen speziellen CUPS-Administrator (siehe Abschnitt <a href=\"http:\/\/localhost\/mediawiki\/index.php\/CUPS#Administrator\">CUPS#Administrator<\/a>.<\/li><li>Windows-Clients k\u00f6nnen \u00fcber http oder https drucken; als Pfad muss man dann einen der folgenden Eintr\u00e4ge nehmen:\n<ul><li><a href=\"https:\/\/caipirinha.homelinux.org:631\/printers\/EPSON_Stylus_C84_extern\">https:\/\/caipirinha.homelinux.org:631\/printers\/EPSON_Stylus_C84_extern<\/a> bzw. <a href=\"http:\/\/caipirinha.homelinux.org:631\/printers\/EPSON_Stylus_C84_extern\">http:\/\/caipirinha.homelinux.org:631\/printers\/EPSON_Stylus_C84_extern<\/a><\/li><li><a href=\"https:\/\/caipirinha.homelinux.org:631\/printers\/HP_Deskjet_9800_extern\">https:\/\/caipirinha.homelinux.org:631\/printers\/HP_Deskjet_9800_extern<\/a> bzw. <a href=\"http:\/\/caipirinha.homelinux.org:631\/printers\/HP_Deskjet_9800_extern\">http:\/\/caipirinha.homelinux.org:631\/printers\/HP_Deskjet_9800_extern<\/a><\/li><\/ul><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Drucker-Definitionen<\/h2>\n\n\n\n<p>Mit CUPS eingerichtete Drucker finden sich in der Datei <strong>\/etc\/cups\/printers.conf<\/strong> wieder, so wie hier:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Printer configuration file for CUPS v1.3.11\n# Written by cupsd on 2010-07-28 09:37\n&lt;DefaultPrinter EPSON_Stylus_C84>\nInfo Farbdrucker DIN A4\nLocation Ostpreu\u00dfendamm 18 b, 12207 Berlin\nDeviceURI usb:\/\/EPSON\/Stylus%20C84\nState Idle\nStateTime 1280302648\nAccepting Yes\nShared Yes\nJobSheets none none\nQuotaPeriod 0\nPageLimit 0\nKLimit 0\nOpPolicy default\nErrorPolicy retry-job\n&lt;\/Printer>\n&lt;Printer EPSON_Stylus_C84_extern>\nInfo Farbdrucker DIN A4 (ohne Filterung)\nLocation Ostpreu\u00dfendamm 18b, 12207 Berlin\nDeviceURI usb:\/\/EPSON\/Stylus%20C84\nState Idle\nStateTime 1280302648\nAccepting Yes\nShared Yes\nJobSheets none none\nQuotaPeriod 0\nPageLimit 0\nKLimit 0\nOpPolicy default\nErrorPolicy retry-job\n&lt;\/Printer>\n&lt;Printer HP_Deskjet_9800>\nInfo Farbdrucker DIN A3\nLocation Ostpreu\u00dfendamm 18b, 12207 Berlin\nDeviceURI usb:\/\/HP\/Deskjet%209800?serial=MY593110Y9046K\nState Idle\nStateTime 1279120090\nAccepting Yes\nShared Yes\nJobSheets none none\nQuotaPeriod 0\nPageLimit 0\nKLimit 0\nOpPolicy default\nErrorPolicy retry-job\n&lt;\/Printer>\n&lt;Printer HP_Deskjet_9800_extern>\nInfo Farbdrucker DIN A3 (ohne Filterung)\nLocation Ostpreu\u00dfendamm 18b, 12207 Berlin\nDeviceURI usb:\/\/HP\/Deskjet%209800?serial=MY593110Y9046K\nState Idle\nStateTime 1280005739\nAccepting Yes\nShared Yes\nJobSheets none none\nQuotaPeriod 0\nPageLimit 0\nKLimit 0\nOpPolicy default\nErrorPolicy retry-job\n&lt;\/Printer><\/pre>\n\n\n\n<p>Wichtig ist, dass bei <strong>ErrorPolicy<\/strong> der Wert <strong>retry-job<\/strong> \neingetragen wird. Ansonsten wird die jeweilige Drucker-Warteschlange \ndeaktiviert, wenn ein Benutzer einen Druckauftrag schickt und der \nDrucker ausgeschaltet ist. Mit dem Wert <strong>retry-job<\/strong> versucht CUPS \naber periodisch immer wieder einen Ausdruck und der Druckauftrag bleibt \nso lange in der Drucker-Warteschlange, bis der Drucker eingeschaltet \nwird und der Ausdruck komplett durchgelaufen ist oder bis die Anzahl der\n in <strong>\/etc\/cups\/cupsd.conf<\/strong> festgelegten Versuche erreicht worden ist.\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ausdrucke aus der Shell und aus Skripten<\/h2>\n\n\n\n<p>Damit auch Ausdrucke aus einer Shell heraus gelingen, ist es noch notwendig, in <strong>\/etc\/cups\/lpoptions<\/strong> einige Einstellungen zu definieren. Die f\u00fcr den Caipirinha-Server g\u00fcltige Datei sieht so aus:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Default EPSON_Stylus_C84 cpi=12 lpi=6 page-border=none page-bottom=30 page-left=60 page-right=25 page-top=25\nDest HP_Deskjet_9800 media=A3 cpi=16 lpi=8 pageSize=A3 page-border=none page-bottom=40 page-left=40 page-right=40 page-top=40<\/pre>\n\n\n\n<p>Darin befinden sich f\u00fcr beide Drucker Einstellungen bez\u00fcglich der:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Druckdichte (cpi)<\/li><li>Zeilendichte (lpi)<\/li><li>Seitengr\u00f6\u00dfe (media)<\/li><li>Seitenr\u00e4nder (page-bottom, page-left, page-right, page-top)<\/li><li>Umrandung (page-border)<\/li><\/ul>\n\n\n\n<p>Man kann dazu entweder nach dem Einrichten der Drucker die Datei <strong>\/etc\/cups\/lpoptions<\/strong> mit einem Texteditor bearbeiten oder die jeweiligen Optionen mit dem Befehl <strong>lpoptions<\/strong> eintragen lassen (siehe <code>man lpoptions<\/code>).\n Die entsprechenden Werte f\u00fcr die Seitenr\u00e4nder muss man allerdings durch\n Herumexperimentieren heraus finden, was durchaus einige Ausdrucke \nkosten kann.\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Administrator<\/h2>\n\n\n\n<p>Schlie\u00dflich muss man noch Benutzer anlegen, welche Zugriffsrechte f\u00fcr\n die eingeschr\u00e4nkten CUPS-Verzeichnisse haben. Dies macht man mit dem \nBefehl:\n<\/p>\n\n\n\n<p><code>lppasswd -a <em>Benutzername<\/em><\/code>\n<\/p>\n\n\n\n<p>Die damit angelegten Benutzer und ihre Passworte befinden sich in der Datei <strong>\/etc\/cups\/passwd.md5<\/strong> mit den Zugriffsrechten:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">-rw------- 1 lp   lp     85 Nov  7  2008 passwd.md5<\/pre>\n\n\n\n<p>In dieser Datei finden sich beim Caipirinha-Server der Benutzer <strong>Gabriel<\/strong> und der Benutzer <strong>root<\/strong>, wobei beide Benutzer nicht mit Systembenutzern verwechselt werden d\u00fcrfen. Den Benutzer <strong>Gabriel<\/strong>\n und sein Passwort habe ich an alle Maschinen und Benutzer verteilt, die\n auch auf dem Caipirinha-Server drucken k\u00f6nnen sollen. Der Benutzer <strong>root<\/strong>\n und sein Passwort wird ausschlie\u00dflich f\u00fcr die Administration des \nCUPS-Dienstes benutzt, k\u00f6nnte aber auch zum Zugriff auf die Drucker \nbenutzt werden.\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ausdruck im RAW-Modus<\/h2>\n\n\n\n<p>Um im <strong>RAW-Modus<\/strong> (ungefiltert) auf die sonst der Filterung unterliegenden Varianten <strong>EPSON_Stylus_C84<\/strong> und <strong>HP_Deskjet_9800<\/strong> ausdrucken zu k\u00f6nnen, m\u00fcssen noch Anpassungen in den Dateien <strong>\/etc\/cups\/mime.types<\/strong> und <strong>\/etc\/cups\/mime.convs<\/strong> vorgenommen werden. In der Datei <strong>\/etc\/cups\/mime.types<\/strong> muss im Abschnitt <strong>Raw print file support&#8230;<\/strong> in der Zeile\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#application\/octet-stream<\/pre>\n\n\n\n<p>das Kommentarzeichen <code>#<\/code> entfernt werden. In der Datei <strong>\/etc\/cups\/mime.convs<\/strong> muss im Abschnitt <strong>Raw filter&#8230;<\/strong> in der Zeile\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#application\/octet-stream application\/vnd.cups-raw 0 -<\/pre>\n\n\n\n<p>das Kommentarzeichen <code>#<\/code> entfernt werden.\n<\/p>\n\n\n\n<p> Nun startet man CUPS mit <code>\/etc\/init.d\/cups start<\/code> und kontrolliert gleich die beiden Log-Dateien: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\/var\/log\/cups\/error_log<\/li><li>\/var\/log\/cups\/access_log<\/li><\/ul>\n\n\n\n<p>Im Regelfall sollte jetzt alles funktionieren.\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Weitere Konfigurationen<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Konfiguration auf <a href=\"http:\/\/caipiroska.homelinux.org\">caipiroska.homelinux.org<\/a><\/h3>\n\n\n\n<p>Der <a href=\"http:\/\/caipiroska.homelinux.org\">Caipiroska-Server<\/a>\n ist ein Linux-Server, der fast identisch zum Caipirinha-Server \nkonfiguriert ist. Er ist allerdings bei einem Freund untergebracht. \nDeswegen sind dort ein lokal vorhandener HP-Drucker (<strong>HP_Deskjet_6800<\/strong>) und die beiden bei mir zu Hause stehenden Drucker-Varianten <strong>EPSON_Stylus_C84_extern<\/strong> und <strong>HP_Deskjet_9800_extern<\/strong>\n eingerichtet. Der CUPS-Dienst dort ist nicht vom Internet aus zu \nerreichen; deshalb kann die Konfiguration etwas offener als beim \nCaipirinha-Server sein. Sie ist aber im Wesentlichen \u00e4hnlich aufgebaut, \nund das oben Beschriebene gilt auch hier f\u00fcr <strong>\/etc\/cups\/cupsd.conf<\/strong>:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># CUPS-Konfiguration\n#\n# 31.07.2010, Gabriel R\u00fceck\n#\n\nAutoPurgeJobs Yes\nBrowsing Off\nDefaultAuthType BasicDigest\nDefaultCharset utf-8\nDefaultEncryption IfRequested\nDefaultLanguage de\nErrorPolicy retry-job\nJobRetryInterval 300\nJobRetryLimit 864\nPort 631\nListen \/var\/run\/cups\/cups.sock\nLogLevel warn\nMaxLogSize 10485760\nPreserveJobFiles Yes\nServerAdmin administrator@caipiroska.homelinux.org\nServerCertificate \/etc\/apache2\/ssl.crt\/server.crt\nServerKey \/etc\/apache2\/ssl.key\/server.key\nServerTokens Minimal\n\n# Restrict access to the server...\n&lt;Location \/>\n  Allow from all\n&lt;\/Location>\n\n&lt;Location \/jobs>\n  AuthType BasicDigest\n  Require valid-user\n  Allow from all\n&lt;\/Location>\n\n&lt;Location \/printers>\n  Allow from all\n&lt;\/Location>\n\n&lt;Location \/admin>\n  AuthType BasicDigest\n  Require user root#  Encryption Required\n  Allow from all\n&lt;\/Location><\/pre>\n\n\n\n<p>In der Datei <strong>\/etc\/cups\/printers.conf<\/strong> sind dann alle 3 Drucker aufgelistet:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Printer configuration file for CUPS v1.3.11\n# Written by cupsd on 2010-08-01 12:40\n&lt;DefaultPrinter HP_Deskjet_6800>\nInfo LAN-Drucker\nLocation geheime_Location\nDeviceURI socket:\/\/192.168.2.10:9100\nState Idle\nStateTime 1280581453\nAccepting Yes\nShared Yes\nJobSheets none none\nQuotaPeriod 0\nPageLimit 0\nKLimit 0\nOpPolicy default\nErrorPolicy retry-job\n&lt;\/Printer>\n&lt;Printer EPSON_Stylus_C84>\nInfo Farbdrucker DIN A4\nLocation Ostpreussendamm 18b, 12207 Berlin\nDeviceURI ipp:\/\/Gabriel:geheimes_Passwort@caipirinha.homelinux.org:631\/printers\/EPSON_Stylus_C84_extern\nState Idle\nStateTime 1280659172\nAccepting Yes\nShared Yes\nJobSheets none none\nQuotaPeriod 0\nPageLimit 0\nKLimit 0\nOpPolicy default\nErrorPolicy retry-job\n&lt;\/Printer>\n&lt;Printer HP_Deskjet_9800>\nInfo Farbdrucker DIN A3\nLocation Ostpreussendamm 18b, 12207 Berlin\nDeviceURI ipp:\/\/Gabriel:geheimes_Passwort@caipirinha.homelinux.org:631\/printers\/HP_Deskjet_9800_extern\nState Idle\nStateTime 1280581991\nAccepting Yes\nShared Yes\nJobSheets none none\nQuotaPeriod 0\nPageLimit 0\nKLimit 0\nOpPolicy default\nErrorPolicy retry-job\n&lt;\/Printer><\/pre>\n\n\n\n<p>Hier gibt es nun die Besonderheit, dass bei den <strong>DeviceURI<\/strong>s der\n entfernten Drucker der f\u00fcr die Authentifizierung erforderliche \nBenutzername und das dazu geh\u00f6rende Passwort im Klarnamen angegeben \nsind. Dabei muss nat\u00fcrlich <strong>geheimes_Passwort<\/strong> durch das \ntats\u00e4chliche Passwort ersetzt werden. Die Angabe im Klartext zeigt \neinmal mehr, dass man aus Sicherheitsgr\u00fcnden keinesfalls die Passw\u00f6rter \nder System-Logins benutzen sollte.\n<\/p>\n\n\n\n<p>Gleicherma\u00dfen ist <strong>geheime_Location<\/strong> bei der Druckerdefinition des <strong>HP_Deskjet_6800<\/strong> nat\u00fcrlich durch den tats\u00e4chlichen bei der Druckerdefinition angegebenen Ort zu ersetzen.\n<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Konfiguration auf <a href=\"http:\/\/rueeck.name\">rueeck.name<\/a><\/h3>\n\n\n\n<p>Auf der Maschine <a href=\"http:\/\/rueeck.name\">rueeck.name<\/a>\n (statische IP-Adresse: 88.84.145.229) ist kein CUPS-Server installiert,\n sondern nur die f\u00fcr den Client-Betrieb erforderlichen Pakete:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>cups-client<\/li><li>cups-libs<\/li><li>cups-libs-32bit<\/li><\/ul>\n\n\n\n<p>Deswegen gibt es auch keine Konfigurationsdatei f\u00fcr den CUPS-Server, sondern nur eine f\u00fcr den CUPS-Client, n\u00e4mlich <strong>\/etc\/cups\/client.conf<\/strong>. In dieser Datei sind lediglich zwei wichtige Eintr\u00e4ge enthalten:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">...\nServerName caipirinha.homelinux.org<\/pre>\n\n\n\n<p>Mit dem Parameter <strong>ServerName<\/strong> wird die Maschine <a href=\"http:\/\/caipirinha.homelinux.org\">caipirinha.homelinux.org<\/a> als alleiniges Ziel s\u00e4mtlicher Druckauftr\u00e4ge festgelegt. Mit dem Kommando <code>lpstat -a<\/code> kann man sich nun die Stati aller verf\u00fcgbaren Drucker anschauen. Hier sieht man dann folgende Liste:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">EPSON_Stylus_C84 accepting requests since Wed Jul 28 09:37:28 2010\nEPSON_Stylus_C84_extern accepting requests since Wed Jul 28 09:37:28 2010\nHP_Deskjet_9800 accepting requests since Wed Jul 14 17:08:10 2010\nHP_Deskjet_9800_extern accepting requests since Sat Jul 24 23:08:59 2010<\/pre>\n\n\n\n<p>Die 4 aufgelisteten Drucker t\u00e4uschen allerdings dar\u00fcber hinweg, dass man von der Maschine <a href=\"http:\/\/rueeck.name\">rueeck.name<\/a> tats\u00e4chlich nur auf zwei Drucker, n\u00e4mlich auf <strong>EPSON_Stylus_C84<\/strong> und <strong>HP_Deskjet_9800<\/strong>, zugreifen kann. So wurden n\u00e4mlich die Zugriffsrechte f\u00fcr die IP-Adresse 88.84.145.229 in <a href=\"http:\/\/localhost\/mediawiki\/index.php\/CUPS#Konfigurationsdatei\"><strong>\/etc\/cups\/cupsd.conf<\/strong><\/a>\n auf dem Caipirinha-Server festgelegt. Dies macht auch Sinn, denn wir \nm\u00fcssen die Filterung ja auf dem Caipirinha-Server durchf\u00fchren. Mit der \nauf dem Caipirinha-Server eingesetzten Konfiguration bedeutet dies aber \nauch, dass der Druck-Job von <a href=\"http:\/\/rueeck.name\">rueeck.name<\/a>\n ohne Autentifizierung und ohne Verschl\u00fcsselung durchs Internet \ngeschickt wird. Ausdrucken sollte man daher nur solche Dokument, die \nunverf\u00e4nglich sind und keine Passw\u00f6rter enthalten.\n<\/p>\n\n\n\n<p>Weiterf\u00fchrende Dokumentation zu diesem Thema findet sich auf <a href=\"http:\/\/www.cups.org\/documentation.php\">[1]<\/a> und auf <a href=\"http:\/\/de.opensuse.org\/SDB:CUPS_in_aller_K%C3%BCrze\">[2]<\/a>.\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Als zentraler Druckdienst ist CUPS auf dem Caipirinha-Server eingerichtet.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[63],"class_list":["post-82","post","type-post","status-publish","format-standard","hentry","category-it","tag-cups"],"_links":{"self":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/82","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=82"}],"version-history":[{"count":1,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/82\/revisions"}],"predecessor-version":[{"id":83,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/82\/revisions\/83"}],"wp:attachment":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=82"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=82"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=82"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}