V SUSE Linuxu je v systému CUPS řada zajímavých vlastností. O těch nejdůležitějších se píše v následujícím textu:
Existuje několik možností, jak nastavit CUPS jako klienta síťového serveru.
Ke každé frontě na síťovém serveru můžete nastavit lokální frontu, přes kterou lze přeposílat tiskové úlohy na správný server. Tento přístup nelze obecně doporučit, neboť v případě změny konfigurace na serveru je nutno přenastavit i všechny klienty.
Tiskové úlohy je též možno přeposílat přímo na jeden síťový server. Při použití tohoto typu konfigurace nespouštějte lokálního démona CUPS. lp (a odpovídající knihovní volání dalších programů) umožňuje zasílat úlohy přímo na síťový server. Tuto konfiguraci však nelze použít, pokud chcete používat lokální tiskárnu.
Démon CUPS může naslouchat oznamovacím IPP paketům vysílaným síťovými servery pro oznámení dostupných front. Je to nejlepší možná CUPS konfigurace pro tisk na vzdálených CUPS serverech. Existuje ovšem riziko, že útočník vyšle falešné IPP pakety a lokální démon pak zašle tisková data na podvrženou frontu. Při používání této konfigurace musí být port 631/UDP otevřen pro příchozí pakety.
YaST může použít dvě metody vyhledávání CUPS serverů. Může skenovat všechny počítače na síti a zjišťovat, zda nabízejí službu CUPS, nebo může naslouchat IPP paketům (metoda popsaná výše). Takto jsou také během instalace vyhledávány CUPS servery nabízející služby. Druhá metoda vyžaduje otevření portu 631/UDP pro příchozí pakety.
Výchozí nastavení firewallu zakazuje naslouchat IPP oznamovacím paketům na všech rozhraních. Proto nemůže fungovat druhá metoda vyhledávání vzdálených front ani třetí metoda pro přístup ke vzdáleným frontám. Je tedy potřeba změnit nastavení firewallu. Je možné některé ze síťových rozhraní nastavit jako vnitřní (na kterém je port defaultně otevřen) nebo explicitně otevřít port na vnějším rozhraní. Z bezpečnostních důvodů není žádný z portů ve výchozím nastavení otevřen. Otevření portu pro konfiguraci vzdálených front druhou metodou může znamenat bezpečnostní riziko.
Nabídnuté nastavení firewallu je nutno změnit, aby mohl CUPS server během instalace detekovat vzdálené fronty. Jinou možností je oskenovat všechny lokální počítače nebo nakonfigurovat fronty ručně. Z důvodů zmíněných výše to však nedoporučujeme.
Pro administraci přes webový frontend (CUPS) nebo nástroj pro
administraci tiskáren v KDE je nutné nastavit uživatele
root jako CUPS administrátora,
CUPS administrační skupinu sys
a CUPS heslo. Učinit tak může uživatel
root následujícím příkazem:
lppasswd -g sys -a root
Pokud toto nastavení neprovedete, nebude možná administrace přes webové rozhraní nebo administrační nástroj v KDE, protože autentizace bez nastavení CUPS administrátora selže. Jako CUPS administrátor může být nastaven i jakýkoliv jiný uživatel (viz 11.6.3 – „Změny v tiskové službě CUPS (cupsd)“).
Tyto změny byly poprvé provedeny v systému SUSE Linux 9.1.
Při spuštění se program cupsd přepne z běhu pod
uživatelem root na uživatele
lp. Tím je dosaženo vyšší
bezpečnosti, protože služba CUPS tak běží jen s potřebnými právy.
Nicméně autentizace (lépe řečeno kontrola hesla) nemůže být provedena přes
/etc/shadow, protože uživatel lp k němu nemá přístup. Místo toho je
použita autentizace specifická pro CUPS přes soubor
/etc/cups/passwd.md5. Proto je do tohoto souboru
nutné vložit CUPS administrátora, CUPS administrační skupinu sys a heslo. Provést to může uživatel
root následujícím příkazem:
lppasswd -g sys -a CUPS-administrátor
Pokud běží cupsd pod uživatelem lp, nemůže vygenerovat soubor
/etc/printcap, neboť nemá právo zapisovat do adresáře
/etc/. Místo toho cupsd vytvoří
/etc/cups/printcap. Aby nebyla ohrožena funkce
aplikací, které umí číst jména front pouze z
/etc/printcap, je /etc/printcap
symbolickým odkazem na /etc/cups/printcap.
Když cupsd běží pod uživatelem lp, nelze otevřít port
631. Proto nelze použít příkaz rccups
reload. Místo něj použijte rccups restart.
Přístupová práva nastavená pro BrowseAllow a
BrowseDeny platí pro všechny pakety zaslané na
cupsd. Výchozí nastavení v souboru
/etc/cups/cupsd.conf jsou následující:
BrowseAllow @LOCAL BrowseDeny All
a
<Location /> Order Deny,Allow Deny From All Allow From 127.0.0.1 Allow From 127.0.0.2 Allow From @LOCAL </Location>
Při tomto nastavení mohou ke cupsd na CUPS serveru
přistupovat pouze LOCAL počítače, tj. počítače,
jejichž IP adresa náleží non-PPP rozhraní (přesněji rozhraní, jehož
IFF_POINTOPOINT příznak není nastaven) a jejichž adresa
náleží do stejné sítě jako CUPS server. Pakety z ostatních počítačů jsou
okamžitě odmítnuty.
Ve standardní instalaci je cupsd automaticky aktivní,
což umožňuje pohodlný přístup ke CUPS frontám bez manuálního nastavování.
Dvě předchozí vlastnosti (viz 11.6.3.1 – „cupsd běží pod uživatelem lp“ a
11.6.3.2 – „Obecná funkce BrowseAllow a
BrowseDeny“) jsou podmínkou k tomuto
automatickému spuštění, neboť jinak by nebyla zajištěna dostatečná
bezpečnost.
V této části jsou popsány zdroje PPD souborů a jejich použití.
Modul pro konfiguraci tiskáren nástroje YaST nastavuje CUPS fronty pouze
s využitím PPD souborů v /usr/share/cups/model/.
Vhodný PPD soubor vybírá YaST porovnáním modelu tiskárny zjištěného
během rozpoznávání hardwaru a modelů v PPD souborech v adresáři
/usr/share/cups/model/. Za tímto účelem si YaST
vytváří databázi modelů tiskáren získaných z PPD souborů. Když vyberete
model ze seznamu výrobců a typů tiskáren, bude automaticky přiřazen vhodný
PPD soubor.
Konfigurace s využitím pouze PPD souborů a žádných jiných informací má
výhodu v tom, že je možné PPD soubory v adresáři
/usr/share/cups/model/ volně modifikovat. Modul
YaST pro nastavení tiskáren si všímá všech změn a obnovuje svou
databázi. Pokud například máte jen postscriptové tiskárny, nepotřebujete
Foomatic PPD soubory z balíčku cups-drivers ani
Gimp-Print PPD z balíčku cups-drivers-stp. Místo
toho můžete prostě překopírovat PPD soubory pro vaše postscriptové tiskárny
přímo do adresáře /usr/share/cups/model/ (pokud
nejsou již součástí balíčku manufacturer-PPDs).
Obecné PPD soubory v balíčku cups
byly doplněny upravenými Foomatic PPD soubory pro tiskárny
PostScript level 1 a 2:
/usr/share/cups/model/Postscript-level1.ppd.gz
/usr/share/cups/model/Postscript-level2.ppd.gz
Normálně je pro nepostscriptové tiskárny používán Foomatic tiskový filtr
foomatic-rip spolu s Ghostscriptem. Vhodné
Foomatic PPD soubory s položkami
*NickName: ... Foomatic/Ghostscript driver a
*cupsFilter: ... foomatic-rip jsou umístěny
v balíčku cups-drivers.
YaST upřednostňuje Foomatic PPD soubory za následujících podmínek:
Foomatic PPD soubor s položkou
*NickName: ... Foomatic ... (recommended)
odpovídá modelu tiskárny.
Balíček manufacturer-PPDs neobsahuje
vhodnější PPD soubor (viz níže).
Místo foomatic-rip lze s mnoha
nepostscriptovými tiskárnami použít CUPS filtr
rastertoprinter z projektu Gimp-Print.
Tento filtr a vhodné Gimp-Print PPD soubory jsou dostupné v balíčku
cups-drivers-stp. Gimp-Print PPD soubory
jsou umístěné v adresáři /usr/share/cups/model/stp/
a mají položky
*NickName: ... CUPS+Gimp-Print a
*cupsFilter: ... rastertoprinter.
Balíček manufacturer-PPDs obsahuje PPD soubory
od výrobců tiskáren, pokud jsou uvolněny pod dostatečně volnou licencí.
Postscriptové tiskárny by měly být nakonfigurovány s příslušným PPD
souborem od výrobce, protože jsou tak dostupné všechny funkce tiskárny.
YaST upřednostňuje PPD soubor z balíčku
manufacturer-PPDs
za následujících podmínek:
Výrobce a model tiskárny zjištěný během detekce hardwaru odpovídá
výrobci a modelu tiskárny uvedeným v PPD souboru z balíčku
manufacturer-PPDs.
PPD soubor z balíčku manufacturer-PPDs je
jediný vhodný PPD soubor pro danou tiskárnu nebo existuje Foomatic
PPD soubor s položkou *NickName: ... Foomatic/Postscript
(recommended), který rovněž odpovídá dané tiskárně.
YaST nepoužije žádný soubor z balíčku
manufacturer-PPDs
v následujících případech:
PPD soubor z balíčku manufacturer-PPDs
neodpovídá výrobci a modelu tiskárny. To se může stát v případě, že
balíček obsahuje jen jeden PPD soubor pro několik podobných tiskáren.
Foomatic PostScript PPD soubor není recommended (doporučený). To může být v případě, kdy daná tiskárna nefunguje v postscriptovém režimu efektivně, například je v tomto režimu nespolehlivá pro nedostatek paměti či pomalá kvůli slabému procesoru. Dalším důvodem může být to, že tiskárna nepodporuje PostScript ve výchozí konfiguraci (je např. dostupný jako rozšiřující výbava).
Pokud je některý PPD soubor z balíčku
manufacturer-PPDs pro postscriptovou tiskárnu
vhodný, ale YaST ho nepoužije z výše zmíněných důvodů, zvolte vybraný
model tiskárny v nástroji YaST ručně.