|
Letzte
Bearbeitung dieses Dokuments: |
Voraussetzungen für das Verständnis dieses Dokuments:* Aufrufen und
Bedienen eines Web-Browsers. |
Ungefährer Zeitbedarf zum Durcharbeiten dieses Dokuments:Arbeitszeit:
|
Dieses
Dokument besteht aus zwei Abschnitten:
* Konfiguration des
CUPS-Servers; das ist jener PC an dem der Drucker angeschlossen
ist.
* Einrichten des Druckers auf einem beliebigen
Arbeitsplatz-PC der auf einen mit CUPS angesteuerten Drucker
zugreifen soll.
CUPS (Common Unix Printing System) ist eine Implementierung des Internet Printing Protocol (IPP).
Unter
den vielen Funktionen des IPP sind folgende ein besonderer Vorteil:
*
Gegenüber anderen Protokollen (z.B. lpr unter Unix/Linux oder
SMB unter Windows) hat CUPS den Vorteil eines schnelleren Beginn des
Ausdrucks.
* Mit CUPS braucht ein Treiber für eine Drucker
nur auf jenem PC installiert sein, an den der Drucker angeschlossen
ist. Der Treiber kann dann auf jeden PC mit dem Betriebssystem Linux,
der auf den Drucker zugreifen will, geladen werden.
* CUPS bietet
eine Verwaltung per Web-Browser. Damit können Drucker
konfiguriert werden, Druck-Jobs überwacht und bei Bedarf der
Ausdruck wiederholt werden.
Wichtiger Hinweis wenn Sie das Programm 'Drucker einrichten' verwenden ! Die
im Dokument Einrichten
von Druckern beschriebene
Einrichtung von Druckern verändert unter Umständen die
Konfigurationsdatei von CUPS (/etc/cups/cupsd.conf).
Diese Erfahrung bezieht sich auf die Version Fedora Core 5 – tritt aber vermutlich auch bei anderen Versionen auf. Bei einem Test mit Fedora Core 10 und UBUNTU Version 8.1 trat dieser Fehler nicht mehr auf. |
CUPS-Server konfigurieren – neuere Version (erstellt unter Fedora Core 10 bzw. UBUNTU Version 8.1)
CUPS-Server
konfigurieren – ältere Version (erstellt
unter Fedora Core 5)
*
Änderungen in der Datei
/etc/cups/cupsd.conf
*
Automatisches Starten des CUPS-Servers über
ntsysv
*
Alternative: CUPS-Server mit der Datei
/etc/rc.d/rc.local
starten
*
Drucker über Web-Browser einrichten
*
Sonstige Einstellungen
Von CUPS verwalteten Drucker auf einem Arbeitsplatz einrichten
Ein
große, dickes Lob an den Autor von
http://gentoo-wiki.com/HOWTO_Linux_printer_sharing_with_CUPS
In
diesem Artikel werden die wirlich wichtigen Hinweise gegeben, welche
Parameter in der Datei /etc/cupd/cupd.conf konfiguriert werden
müssen, damit der Zugriff auf den Drucker und die Überwachung
von anderen PCs möglich ist.
Nichts
bleibt wie es ist – das gilt auch für die Entwicklung
von Linux.
Die Abbildungen (Screenshots) der Benutzer-Oberfläche
per Web-Browser in diesem Dokument wurden mit RedHat**-Linux Version
8.0 (aus dem Jahr 2002) erstellt.
In nachfolgende Versionen (bis
Fedora Core 7 im September 2007) wurden immer wieder leichte
Veränderungen vorgenommen – und können daher sehr
verändert aussehen.
Die Aufgabe und Abfolge ist aber im
Wesentlichen gleich geblieben.
Lassen Sie sich bitte nicht
verwirren, wenn Erscheinungsbild und Bezeichnungen Ihrer Version
nicht mehr vollständig mit dieser Dokumentation
übereinstimmen.
Wenn Sie die Installation von Linux bis
hierher geschafft haben wird die Installation von CUPS bei Ihrer
aktuellen Version auch kein unüberwindbares Hindernis sein ;-) .
Lob
über die Idee und Ärger über die unbrauchbare
Dokumentation !
Üblicherweise
schreibe ich ja nicht die Geschichte der Fehlschläge bevor ich
'etwas zum Laufen gebracht habe'.
Bei CUPS war aber die
Frustration so groß, dass ich mir den Ärger von der Seele
schreiben muss !
Zuerst
zur guten Idee (Lob an die 'SpezifiziererInnen' des IPP):
IPP
bringt eine wesentliche Vereinfachung der Verwaltung von Druckern,
auf die von anderen Arbeitsplatz-PC im Netzwerk zugegriffen werden
soll.
* Das Laden des Drucker-Treibers von jenem Computer, an
den der Drucker angeschlossen ist, reduziert den Aufwand für die
Installation eines Treibers auf jedem Arbeitsplatz-PC.
* Jeder
CUPS-Server sendet periodisch eine Liste, welche angeschlossenen
Drucker betriebsbereit sind.
Das ermöglicht jedem Computer
im Netzwerk, seinem Benutzer anzuzeigen, auf welchen Druckers
wirklich gedruckt werden kann.
Weiters wird damit ein
zusätzlicher Zeitaufwand vermieden, weil beim Starten eines
Ausdrucks nicht zuerst geprüft werden muß, ob der gewählte
Drucker überhaupt betriebsbereit ist.
* IPP erlaubt auch
das Zusammenfassen mehrere Drucker zu einer 'Class'.
Dabei ist
für den Anwender nur die 'Class' auswählbar – so wie
ein einzelner.
Der CUPS-Server verteilt dann die Druckanforderung
an einen betriebsbereiten Drucker der 'Class'.
Das ermöglicht
eine Lastverteilung und das Verwenden eines Ersatzes wenn ein Drucker
nicht betriebsbereit ist.
Und
nun zum Frust (ich habe Stunden gebraucht, bis ich CUPS
betriebsbereit hatte):
Auch
wenn ich die originale CUPS-Dokumentation (http.www.cups.org)
mit meinem heutigen Wissen lese, fühle ich mich, wie wenn ich
auf einen fahrenden InterCity-Zug aufspringen soll.
In der Datei
/etc/cups/cupsd.conf
gibt
es ein Unzahl von Parametern – und alle sind so gesetzt, dass
der CUPS-Server (daemon) nur von jenem Computer, auf dem er läuft,
angesprochen werden kann. Das widerspricht der Idee von CUPS, einen
Drucker für alle Arbeitsplätze im Netzwerk zur Verfügung
zu stellen.
Und es gibt keine Rangordnung, welche Parameter
wichtig für die Anpassung sind und welche vorerst auf dem
vorgegebene Wert belassen werden können.
Bei
meiner Suche nach Lösungen im Internet fand ich mehr
Schuldzuweisungen an Andere als einfach zu verstehende
Lösungen.
Deswegen auch mein besonders großes und
dickes Lob an den/die Autorinnen von
http://gentoo-wiki.com/HOWTO_Linux_printer_sharing_with_CUPS
Angemeldet
(logged in) als Benutzer 'root'.
Das gilt für alle
Abschnitte.
In
den neueren Distributionen (getestet mit Fedora Core 10 und UBUNTU
Version 8.1) ist der CUPS-daemon installiert wenn die
Basisinstallation durchgeführt wurde und wird auch automatisch
gestartet.
Wenn Sie eine spezielle Installations-Version für
einen schwachen Computer mit wenig Hauptspeicher verwendet haben, ist
der CUPS-daemon möglicherweise nicht installiert oder
gestartet.
Für Fedora
kann das Programm mit
yum
install cups
,
für UBUNTU mit
apt-get
install cups
nachträglich installiert werden.
Mehr Information finden Sie
dazu im Internet.
|
|
|
|
|
|
|
|
|
|
Zum
Testen kann die Konfiguration jetzt von einem Webbrowser auf einem
anderen Computer im internen Netzwerk aufgerufen werden.
|
|
|
|
Änderungen
in der Datei
/etc/cups/cupsd.conf
Als
Standard-Einstellung wird der CUPS-Server mit einer sehr hohen
Sicherheitseinstellung ausgeliefert.
Das verhindert, daß die
Einrichtung eines Druckers, das Drucken auf diesem Drucker und die
Überwachung von Druck-Jobs nur von jenem Rechner erfolgen kann,
an den der Drucker angeschlossen ist.
Die
Zugriffsrechte können über die Datei
/etc/cups/cupsd.conf
sehr
fein reguliert werden.
Das setzt zwar eine intensive Beschäftigung
mit den Kommentaren in der Datei voraus; lohnt sich aber, wenn ein
WLAN (Wireless Local Area Netzwerk / Drahtloses lokales Netzwerk)
verwendet wird und zu befürchten ist, daß Spaßvögel
Jux-Texte ausdrucken und so die Drucker blockieren und das Papier
sinnlos verbrauchen.
Zuerst
werden Einstellungen vorgestellt, die einen guten Kompromiß
zwischen Sicherheit und Komfort ermöglichen – aber nicht
sicher gegen Angriffe von WLAN-Hacker sind.
Eine Verfeinerung der
Sicherheit wird anschließend vorgestellt.
Öffnen
des Ports
Nach
der Installation von CUPS reagiert der CUPS-daemon nicht auf Anfragen
von anderen Computern im Netzwerk weil das Standart-Port für
CUPS(631) nur Anfragen vom lokalen Computer erlaubt oder überhaupt
noch nicht festgelegt.
Um das Port für die Anfragen anderer
Computer zu öffnen, suchen Sie in der Datei
/etc/cups/cupsd.conf
nach
dem Abschnitt mit dem
Listen
parameter.
Fügen
Sie folgende Zeile hinzu:Listen
*:631
Das
bewirkt, daß das Port für Anfragen von Computern mit jeder
beliebiegen TCP/IP-Adresse erlaubt.
Wenn
Sie die erlaubten Anfragen auf Computer im eigenen Netzwerk (hier mit
der TCP/IP-Adresse 192.168.* als Beispiel) einschränken wollen,
verwenden Sie den Parameter
Listen
192.168.0.*.631
.
Eine Verfeinerung der Sicherheit wird später vorgestellt.
Berechtigung
zum Verwenden von Druckern, Beobachten und Ändern von Druck-Jobs
Das
Senden von Druck-Jobs und das Überwachen der Jobs wird generell
mit einem einzigen Abschnitt gesteuert.
Suchen Sie den Abschnitt,
der mit
<Location/>
beginnt
und fügen Sie folgende Zeile hinzu:
Allow
From 192.168.0.*
Das
Beispiel setzt voraus, daß die TCP/IP-Adressen des internen
Netzwerks mit 192.168.0 beginnen.
Eine
Verfeinerung der Sicherheit wird später vorgestellt.
Erlauben
der Administrator-Funktionen auf einem anderen Computer
Die
CUPS-Konfiguration mit einer Benutzeroberfläche ist nur über
einen Web-Browser möglich (Details im Schritt Drucker über
Web-Browser einrichten).
Damit ein Drucker nicht nur am lokalen
Rechner sondern auch von einem anderen Rechner im Netzwerk
konfiguriert werden kann, muß die 'admin' Berechtigung
ausgedehnt werden.
Suchen Sie den Abschnitt, der mit
<Location/admin>
beginnt.
Nebenbemerkung:
Ein Abschnitt in der Datei cupsd.conf endet immer mit der Zeile
</Location>
.
Wahrscheinlich
sind dort die normal gedruckten Konfigurationsparameter bereits
enthalten. Fügen Sie die fett gedruckte Zeile hinzu.
Order
Deny,Allow
Deny From All
Allow From 127.0.0.1Allow
From 192.168.0.*
Das
Beispiel setzt voraus, daß die TCP/IP-Adressen des internen
Netzwerks mit 192.168.0 beginnen.
Diese
Berechtigung soll nur gesetzt sein, bis der Schritt Drucker über
Web-Browser einrichten fertiggestellt ist.
Sie werden nach diesem
Schritt erinnert, diese Berechtigung zu entfernen. (
Loeschen
der Administrator-Berechtigung
.)
Die
Berechtigung
admin
erlaubt
das Löschen (Entfernen) von Druckern. Damit kann ein Hacker, der
eventuell über ein WLAN eingedrungen ist, zwar keinen wirklichen
Schaden anrichten. Die Arbeit, die Konfiguration wieder herzustellen
und der Zeitausfall während dem Anwender die Drucker nicht
benutzen können, ist aber auf jeden Fall ärgerlich.
Prüfung
wenn Sie die Anleitung in '
Drucker
einrichten
'
ausgeführt haben
Wie
bereits zu Beginn dieses Dokuments im 'Wichtigen Hinweis' betont,
beeinflußt das Ausführen von
Drucker
einrichten
die
Konfigurationsdatei von CUPS.
Prüfen Sie in diesem Fall die
Location
s
für die einzelnen
printer
;
diese enden mit dem 'Warteschalngenname' des installierten
Druckers.
Im folgenden Beispiel wurde der Drucker
A4_white
benannt.
Wahrscheinlich
wurde die Berechtigung nur auf den lokalen Computer eingeschränkt
(fett gedruckte Parameter):
<Location
/printers/a4_white>
Order
Deny,Allow
Deny From All
Allow From 127.0.0.1
AuthType
None
</Location>
Für
die Installation wird empfohlen, die einschränkenden Parameter
'auszukommentieren'.
<Location
/printers/a4_white>
#Order
Deny,Allow
#Deny From All
#Allow From 127.0.0.1
AuthType
None
</Location>
Eine
stärkere Einschränkung der Zugriffsrechte wird unter
Sonstige
Einstellungen in der Datei
/etc/cups/cupsd.conf
vorgestellt.
Einstellung
der Sprache für die Benutzeroberfläche
Die
Anleitungen der Benutzeroberfläche werden von der
Spracheinstellung des Betriebssystems und des Browsers
abgeleitet.
Wenn Sie die Bezeichnungen auf jeden Fall in deutscher
Sprache sehen wollen ändern Sie bitte folgenden Parameter:#
#
DefaultLanguage: the default language if not specified by the
browser.
# If not specified, the current locale is
used.
#
DefaultLanguage
de
Mit
den bisherigen Einstellungen können Drucker konfiguriert,
Druck-Jobs an einen Drucker gesendet und die Druck-Jobs überwacht
werden.
Beispiele für eine Verfeinerung der Einstellungen
werden bei Sonstige
Einstellungen in der Datei /etc
vorgestellt
Automatisches
Starten des CUPS-Servers über
ntsysv
|
|
Alternative:
CUPS-Server mit der Datei
/etc/rc.d/rc.local
starten
|
Drucker
über Web-Browser einrichten
|
|
|
|
Drucker
konfigurieren
|
|
|
|
|
|
|
|
Bestätigungsmeldung
|
|
Detail-Anzeige
und Test-Ausdruck
|
|
Löschen
der Administrator-Berechtigung
Damit
die Drucker-Konfiguration nicht mehr von anderen Computern aus
verändert werden kann – als Schutz gegen Hacker, die
eventuell über ein WLAN in das Netzwerk eingedrungen sind –
wird die Administrator-Berechtigung auf jenen Computer beschränkt,
auf dem der Drucker angeschlossen ist.
Dazu
suchen Sie den Abschnitt, der mit
<Location/admin>
beginnt
und kommentieren Sie den fett gedruckten Parameter aus.
Order
Deny,Allow
Deny From All
Allow From 127.0.0.1
#Allow
From 192.168.0.*
Sonstige
Einstellungen in der Datei
/etc/cups/cupsd.conf
Die
im Schritt
Änderungen
in der Datei /etc/cups/cupsd.conf
beschriebenen
Einstellungen stellen einen Kompromiß zwischen Komfort und
Sicherheit dar.
Dabei gibt es folgdende Schwachstellen:
Durch
den Parameter
Browsing
On
sendet
der CUPS-Server regelmäßig seine TCP/IP-Adresse und
symbolischen Namen der Drucker in das Netzwerk.
Bei Verwendung
eines WLANs erhalten damit Eindringlinge leicht die Information,
welche TCP/IP-Adresse(n) für weitere Angriffe verwendet werden
können.
Die
Auflistung der Druck-Aufträge (aktive oder fertige) ermöglicht
es Eindringlingen, die aktiven Aufträge abzubrechen oder
fertige Aufträge zu wiederholen und dadurch Papier zu
verschwenden.
Die
bisherigen Einstellungen erlauben aber nicht, daß Eindringlinge
über das Netzwerk Zugriff auf die Daten haben – soferne
sie nicht Zugang zu den Ausdrucken auf Papier haben.
Abschalten
von 'Browsing'
Dabei
wird der Parameter von
Browsing
On
auf
Browsing
Off
geändert.
Damit
wird verhindert, daß der CUPS-Server regelmäßig
seine TCP/IP-Adresse in das Netzwerk sendet und es wird
Eindringlingen über das WLAN erschwert, einen Überblick
über die Konfiguration der Computer im Netzwerk zu machen.
Keine
Vergabe einer Zugriffsberechtigung in
<Location
/>
In
<Location
/>
wird
eine generelle Berechtigung für das Drucken und Verwalten von
Aufträgen vergeben.
Damit verbunden ist auch, daß
angeschlossene Drucker und Druck-Aufträge gelistet werden
können.
<Location
/></Location>
Durch
das leer lassen wird die Berechtigungsprüfung auf 'untere
Ebenen' verlagert.
Die Vergabe von Berechtigungen dort wird in den
nächsten beiden Punkten vorgestellt.
Einschränken
der Verwaltung von Druckaufträgen (Jobs) auf bestimmte
TCP/IP-Adressen
In
<Location
/jobs>
kann
eingeschränkt werden, von welchen Computern im internen Netzwerk
Druckaufträge (Jobs) gelistet und wiederholt werden
können.
Durch diese Einschränkung müssen
Eindringlinge in das Netzwerk ausprobieren, welche 'Tarnung' (d.h.
Welche TCP/IP-Adresse sie von Ihrem Computer aus senden müssen)
sie brauchen um als 'erlaubt' akzeptiert zu werden.
<Location
/jobs>Order
Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow
From 192.168.0.125
Allow From 192.168.0.126
</Location>
Das
obige Beispiel erlaubt die Verwaltung von Druckaufträgen nur vom
lokalen Computer und den Computern mit den beiden gelisteten
TCP/IP-Adressen.
Vergabe
der Berechtigung zum Drucken nur beim einzelnen Drucker
Durch
die Definition der Berechtigungen beim einzelnen Drucker kann ein
Druckauftrag nur dann gesandt werden, wenn TCP/IP-Adresse des
CUPS-Servers und der Warteschlangenname des Druckers bekannt
ist.
Weiters kann beim einzelnen Drucker eingeschränkt
werden, von welchen Computern im internen Netzwerk Druckaufträge
angenommen werden.
Als
erster Schritt wird keine generelle Berechtigung in der
<Location
/printers>
vergeben:
<Location
/printers></Location>
Als
zweiter Schritt wird die Berechtigung individuell für jeden
Drucker gesetzt.
Das Beispiel gilt für den Drucker mit dem
Warteschlangennamen A4_white
:
<Location
/printers/A4_white>
Order Deny,Allow
Deny From All
Allow
From 127.0.0.1
Allow
From 192.168.0.125
Allow From 192.168.0.126
</Location>
Mit
dieser Konfiguration akzeptiert der Drucker nur Druckaufträge,
die von dern Computern mit den TCP/IP-Adressen
192.168.0.125
und
192.168.0.126
gesandt
werden.
Es
wird darauf hingewiesen, daß absolute Sicherheit nie erzielt
werden kann.
Mit
den vorgestellten Einstellungen wird es Eindringlingen (Hackern) aber
extrem erschwert, Schaden anzurichten.
Mit
den folgenden Einstellungen wird festgelegt, wieviele Druckaufträge
für eine mögliche Wiederholung gespeichert werden bzw.
wieviel Platz auf der Festplatte für die Speicherung von
Druckaufträgen verwendet werden darf.
Für eine genauere
Erklärung der Funktion der einzelnen Parameter sehen Sie bitte
bei den Beschreibungen in der Konfigurationsdatei
/etc/cups/cupsd.conf
nach.
Generelle
Einstellungen zum Speichern von Druckaufträgen
Nach
der Installation von CUPS ist das Speichern von Druckaufträgen
nicht aktiviert.
Um Druckaufträge zu speichern, sind folgende
Parameter zu verändern:PreserveJobHistory
Yes
PreserveJobFiles Yes
MaxPrinterHistory 50
Limitieren
des Platzes für die gespeicherten Druckaufträge auf der
Festplatte
Als
Standard würde CUPS alle Druckaufträge aufheben solange der
Platz auf der Festplatte vorhanden ist.
Besonders bei älteren
Rechnern (die z.B. als Router eingesetzt sind) und noch nicht über
ausreichend große Festplatten verfügen, kann das dazu
führen, daß für andere Programme kein Platz mehr zur
Verfügung steht.
Mit den folgenden Parametern läßt
sich die Anzahl der gespeicherten Druckaufträge (im Beispiel 50
)
und des Festplattenplazes (im Beispiel
500000000
Byte
/ 500 MB) beschränken:
MaxJobs
50
MaxLogSize 500000000
Limitieren
der 'wartenden' Druckaufträge und der Anzahl der 'Kopien'
Als
Schutz gegen Fehlbedienungen und gegen Eindringlinge, die das Papier
sinnlos verschwenden wollen, kann die Anzahl der wartenden
Druckaufträge (im Beispiel
10
)
und auch die Kopienzahl eines Druckauftrages (im Beispiel
10
)
limitiert werden:
MaxCopies
10
MaxJobsPerPrinter 10
Die
Beschreibung in diesem Abschnitt ist in vielen Teilen identisch mit
jener in Einrichten
von Druckern.
Aus
diesem Grund werden nicht alle Schritte ausführlich beschrieben
und mit Bildern versehen.
Vorbedingungen
Angemeldet als Benutzer 'root' bzw. das Passwort für 'root' verfügbar wenn das Programm als anderer Benutzer gestartet wird.
TCP/IP-Adresse und Name in der Datei /etc/hosts definiert. Eine genauere Beschreibung dazu finden Sie unter Installation des Router mit dem Betriebs-System Linux Fedora Core 5 > TCP/IP-Adresse und den symbolischen Namen des Routers festlegen.
Ein
CUPS-Server (daemon) läuft auf dem Computer, an den der zu
installierende Drucker angeschlossen ist.
Die Installation ist im
Abschnitt CUPS-Server
konfigurieren beschrieben.
Aufrufen
der Drucker-Einrichtung
|
|
|
|
Einen
neuen Drucker konfigurieren
|
|
Neue
Druckerwarteschlange hinzufügen und Warteschlangenname
festlegen.
|
|
Warteschlangentyp
auswählen und CUPS-Drucker erfassen
|
|
Druckermodell
auswählen
|
|
Speichern
(Übernehmen) der Änderungen
|
|
Treiberoptionen
und Test
Die
Anleitung für das Ändern der Treiber-Optionen (z.B.
Papier-Größe, Art des Druckkopfes) und das Testen finden
Sie im Dokument
Einrichten
von Druckern
unter
Treiberoptionen
überprüfen
bzw.
Testen
des Druckers
.