+ All Categories
Home > Documents > Common Unix Printing System

Common Unix Printing System

Date post: 01-Jan-2016
Category:
Upload: rose-dudley
View: 19 times
Download: 1 times
Share this document with a friend
Description:
Common Unix Printing System. Contenu :. Bref historique Fonctionnement schématique I nternet P rinting P rotocol Fichiers de configuration Commandes Interaction avec LPD Interaction avec Samba. Bref historique. L'impression sous UNIX : années '70 (LPD, AT&T) - PowerPoint PPT Presentation
48
INFO 151 ~ Administration des systèmes Common Unix Printing System
Transcript
Page 1: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Common Unix Printing System

Page 2: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Contenu :

● Bref historique● Fonctionnement schématique● Internet Printing Protocol● Fichiers de configuration● Commandes● Interaction avec LPD● Interaction avec Samba

Page 3: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Bref historique

● L'impression sous UNIX : années '70(LPD, AT&T)

● Autres essais : LPRng, Palladin, PLP...● Problème majeur: aucun standard réel ● 2 solutions ont été apportées :

-IEEE avec le Posix Printing Standard-IETF avec Internet Printing Protocol

Page 4: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Bref historique (suite)

● IPP s'est imposé comme le nouveau standard.

● En 1999 sort la 1ère version de CUPS, se basant sur ce protocole d'impression.

Page 5: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Fonctionnement schématique

● CUPS se base sur un processus central de schedule d'impression qui doit :

Gérer les jobs d'impressionGérer les commandes administrativesFournir des infos sur l'état actuel des imprimantes et jobs ( que ce soit des imprimantes locales ou à distance )

Page 6: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Fonctionnement schématique

Page 7: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Avantages de CUPS

● L'impression par réseau est une des choses des plus ardues à rendre fonctionnel sous UNIX.

● CUPS permet d'autodétecter les imprimantes présentes sur le réseau ( via l'option Browsing )

● Système de classes d'imprimantes

Page 8: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Avantages de CUPS

● Prend en charge les clients LPD

● Interface web de configuration

● Authentification sécurisée pour l'impression ( via encryption des données qui transitent sur le réseau et par cryptage MD5 des mots de passe )

Page 9: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Internet Printing Protocol

● IPP a été conçu de manière à définir une nouvelle couche d'application dans le stack TCP/IP

● Fonctionnalités recherchées :

Vérifier la disponibilité d'une imprimante réseau Soumettre des jobs à cette imprimante Controler l'état d'avancement d'un job en cours Annuler un job soumis au préalable.

Page 10: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Internet Printing Protocol

● Schémas de fonctionnement d'IPP :

Protocole de type client-serveurServeur indépendant : machine à laquelle est connectée une ou plusieurs imprimantesServeur « imprimante » : imprimante réseau

Il fallait des facilités à retrouver une imprimante sur le réseau.Authentification du client et du serveurGarantie de la confidentialité des données circulant sur le réseau.

Page 11: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Internet Printing Protocol

● CUPS utilise une version enrichie d'IPP, avec 13 nouvelles fonctionnalités par rapport au standard.

Page 12: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Fichiers de configuration

● Les fichiers sont présents dans/etc/cups/

● Serveur : cupsd.conf● Client : client.conf● classes.conf & printers.conf● mime.convs & mime.types● lpoptions et passwd.md5

Page 13: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Répertoires importants

● /var/log/cups/C'est là que se trouvent les fichiers logs de CUPS.

● /var/spool/cups/L'endroit où sont stockés les fichiers en attente d'être imprimés.

● /usr/share/cups/model/C'est là que sont stockés l'ensemble des fichiers .ppd représentatifs des modèles d'imprimantes reconnus.

Page 14: Common Unix Printing System

INFO 151 ~ Administration des systèmes

cupsd.conf

● La syntaxe est similaire à celle des fichiers de configuration Apache.

● Options trop nombreuses que pour toutes etre décrites. Nous nous intéresserons donc aux options principales.

Page 15: Common Unix Printing System

INFO 151 ~ Administration des systèmes

cupsd.conf

● Browsing [On | Off]

Permet aux serveurs de s'échanger des infos sur les imprimantes.

● BrowseAddress ...

Permet de définir le range de machines où aboutiront les infos des imprimantes connectées au serveur.

Page 16: Common Unix Printing System

INFO 151 ~ Administration des systèmes

cupsd.conf

● Options relatives à Browse :

On peut définir d'où on accepte les informations.

Exemple :

BrowseOrder deny,allowBrowseDeny from AllBrowseAllow from 192.168.1.0/24BrowseAllow from ...

Page 17: Common Unix Printing System

INFO 151 ~ Administration des systèmes

cupsd.conf

● Listen

Directive indiquant sur quelle adresse réseau et sur quel port écouter en vue d'accepter des connexions.

Exemple :Listen 127.0.0.1:631Listen 192.168.0.2:631

Page 18: Common Unix Printing System

INFO 151 ~ Administration des systèmes

cupsd.conf

● Les directives Location permettent de controler l'accès aux imprimantes, files d'impressions, interfaces de configuration de CUPS.

● Il s'agit de balises dans lesquelles on définit les controles d'accès.

Page 19: Common Unix Printing System

INFO 151 ~ Administration des systèmes

cupsd.conf

● Exemple type pour Location :

<Location /printers/HP>AuthClass ...AuthGroupName ...AuthType ...Order deny,allowDeny from AllAllow from ...</Location>

Page 20: Common Unix Printing System

INFO 151 ~ Administration des systèmes

cupsd.conf

● LogLevel

Indique le niveau minimum à partir duquel on doit inscrire les infos dans les fichiers logs ( similaire à Syslog )

none, emerg, alert, crit, error, warn,notice, info, debug, debug2

Page 21: Common Unix Printing System

INFO 151 ~ Administration des systèmes

client.conf

● Ce fichier doit etre configuré manuellement.

● Normalement, il ne contient que l'adresse du serveur CUPS avec lequel le client communique.

● Il y a moyen d'activer des options de cryptage des données qui transiteront sur le réseau.

Page 22: Common Unix Printing System

INFO 151 ~ Administration des systèmes

printers.conf

● Définition des diverses imprimantes.

<Printer HP>Info HP Deskjet 815CLocation Bureau 1er étageDeviceURI parallel:/dev/lp0State IdleAccepting YesJobSheets none noneQuotaPeriod 0PageLimit 0Klimit 0</Printer>

Page 23: Common Unix Printing System

INFO 151 ~ Administration des systèmes

classes.conf

● Définition des différentes classes gérées par le serveur.

<Class Demonstration>State IdleStateMessageAccepting YesJobSheets none nonePrinter BJCPrinter HPQuotaPeriod 0PageLimit 0Klimite 0</Class>

Page 24: Common Unix Printing System

INFO 151 ~ Administration des systèmes

mime.convs

● Ce fichier reprend la liste des filtres de fichiers fournis avec CUPS.

● Il associe un filtre à chaque type de fichier connu permettant de convertir le fichier en un format reconnu par l'imprimante.

Page 25: Common Unix Printing System

INFO 151 ~ Administration des systèmes

mime.types

● Ce fichier contient la liste des types de fichiers reconnus par CUPS.

● Chaque entrée correspond à un type et à la manière de le reconnaitre

Page 26: Common Unix Printing System

INFO 151 ~ Administration des systèmes

passwd.md5

● Contient la liste des comptes utilisateurs « Digest ».

● Chaque entrée est du type :

nom:group:encrypted_passwd

Page 27: Common Unix Printing System

INFO 151 ~ Administration des systèmes

lpoptions et ~/.lpoptions

● Ce sont des fichiers de sauvegarde des paramètres d'impression.

● /etc/cups/lpoptions contient les paramètres définis par l'utilisateur root.

● .lpoptions est présent dans la home directory de chaque utilisateur.

Page 28: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Commandes

● 3 types de commandes :

- System V- Berkeley- CUPS

Page 29: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Commandes System V

● lpCommande pour lancer une impression.

eric@eric:/home/eric$ lp -d Demo -n 5 test.txtrequest id is HP-5 (1 file(s))

● cancelCommande pour annuler un job d'impressioneric@eric:/home/eric$ cancel HP-5

Page 30: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Commandes System V

● lpmoveDéplacer un job vers une autre imprimanteeric@eric:/home/eric$ lpmove 5 BJC

● lpadminIl s'agit de l'outil d'administration.

3 types d'utilisation :root@eric:/root# lpadmin -p HP [OPTIONS]root@eric:/root# lpadmin -d HProot@eric:/root# lpadmin -x HP

Page 31: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Commandes System V

● [OPTIONS] définit les caractéristiques de l'imprimante :

-v parallel:/dev/lp0-c Demonstration-D «Imprimante HP pour démo»-L «Local A2qqchose»-P HP.ppd-m modele-u allow:eric,fred,cedric,@root

Page 32: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Commandes System V

● (cups)enable

● (cups)disable

● accept

● reject

Toutes ces commandes peuvent prendre -h server en paramètre pour répercuter la commande au niveau du serveur. Autre option : -r « motif refus »

Page 33: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Commandes System V

● lpstat

La commande fournissant les informations sur l'état des imprimantes et classes.eric@eric:/root# lpstat -t scheduler is runningsystem default destination: HPdevice for HP: parallel:/dev/lp0HP accepting requests since Jan 01 00:00printer HP is idle. enabled since Jan 01 00:00

Page 34: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Commandes Berkeley

● lprCommande d'impression.

● lpqaffiche l'état des jobs de l'imprimante par défaut.

● lprmannule le job d'impression courant.

Page 35: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Commandes Berkeley

● lpcIl s'agit d'un invite de commandes qui fourni une seule commande permettant l'accès aux infos sur les jobs et imprimantes : « status ».lpc> statusHP:

printer is on device 'parallel' speed -1queuing is enabledprinting is enabledno entriesdaemon present

lpc> quit

Page 36: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Commandes CUPS

● lpinfo

Permet de récupérer les infos sur :- les modèles/drivers ( -m )- les devices ( -v )

Page 37: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Commandes CUPS

● lpoptionsDéfinit les options par défaut pour les jobs d'impression lancés via «lp» ou «lpr».

2 cas: - exécuté par l'utilisateur : stocké dans .lpoptions- exécuté par le SU : stocké dans /etc/cups/lpoptions

Page 38: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Commandes CUPS

● lppasswd

Permet la gestion des comptes utilisateurs Digest

● Manipule le fichier /etc/cups/passwd.md5● -a : ajouter● -x : supprimer● -g group : spécifie le groupe de

l'utilisateur.

Page 39: Common Unix Printing System

INFO 151 ~ Administration des systèmes

CUPS & LPD

● Impression à partir de clients LPD :Le client interagit avec le serveur CUPS de manière totalement transparente.

● Utilise un petit déamon servant d'interface entre le client LPD et le serveur CUPS.

● Limitations : configuration manuelle de l'imprimante chez tous les clients ( dans le fichier /etc/printcap )

Page 40: Common Unix Printing System

INFO 151 ~ Administration des systèmes

CUPS & LPD

● Impression vers un serveur LPDElle est rendue possible grace à un filtre backend destiné aux serveurs et imprimantes LPD.

● DeviceURI de type lpd://server/name

● Daemon qui s'occupe du support LPD :/usr/lib/cups/daemon/cups-polld

Page 41: Common Unix Printing System

INFO 151 ~ Administration des systèmes

CUPS & Windows

● Impression via Samba

● Version 2.0.6 minimum (filtre backend non fourni sinon)

Page 42: Common Unix Printing System

INFO 151 ~ Administration des systèmes

CUPS & Windows

● Client UNIX, serveur Windows

Afin de s'assurer que CUPS a été configuré pour Samba :

ln -s `which smbspool` /usr/lib/cups/backend/smb

● DeviceURI: smb://server/printersmb://workgroup/server/printer

Page 43: Common Unix Printing System

INFO 151 ~ Administration des systèmes

CUPS & Windows

● Client Windows, serveur UNIX

Il faut modifier /etc/samba/smb.conf

La section «global» doit contenir ceci:

[global]load printers = yesprinting = cupsprintcap name = cups

Page 44: Common Unix Printing System

INFO 151 ~ Administration des systèmes

CUPS & Windows

● Dans la section «printers» :

[printers]comment = All Printerspath = /var/spool/sambabrowseable = yespublic = yesguest ok = yeswritable = noprintable = yesprinter admin = root

Page 45: Common Unix Printing System

INFO 151 ~ Administration des systèmes

CUPS & Windows

● Pour le partage des pilotes d'impression :

[print$]comment = Printer Driverspath = /usr/share/cups/driversbrowseable = yesguest ok = noread only = yeswrite list = root

Page 46: Common Unix Printing System

INFO 151 ~ Administration des systèmes

CUPS & Windows

● Il faut encore exporter les imprimantes vers CUPS.

cupsaddsmb -U root HP BJCcupsaddsmb -U root -a

Page 47: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Dernières notes

● Problème majeur dans l'utilisation de CUPS : présence d'un firewall bloquant le port 631 !

Solution :

iptables -A INPUT-i eth0-s 192.168.1.0/24-p tcp--destination-port 631-j ACCEPT

Page 48: Common Unix Printing System

INFO 151 ~ Administration des systèmes

Dernières notes

● Afin d'intégrer CUPS aux diverses applications de KDE, il faut installer une librairie : kdelibs3-cups

● Les slides ainsi que le document principal de cet exposé sont disponibles à l'adresse suivante :

http://eriku.free.fr/cups/


Recommended