Date post: | 01-Jan-2016 |
Category: |
Documents |
Upload: | rose-dudley |
View: | 19 times |
Download: | 1 times |
INFO 151 ~ Administration des systèmes
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
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
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.
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 )
INFO 151 ~ Administration des systèmes
Fonctionnement schématique
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
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 )
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.
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.
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.
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
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.
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.
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.
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 ...
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
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.
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>
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
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.
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>
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>
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.
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
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
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.
INFO 151 ~ Administration des systèmes
Commandes
● 3 types de commandes :
- System V- Berkeley- CUPS
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
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
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
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 »
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
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.
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
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 )
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
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.
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 )
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
INFO 151 ~ Administration des systèmes
CUPS & Windows
● Impression via Samba
● Version 2.0.6 minimum (filtre backend non fourni sinon)
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
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
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
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
INFO 151 ~ Administration des systèmes
CUPS & Windows
● Il faut encore exporter les imprimantes vers CUPS.
cupsaddsmb -U root HP BJCcupsaddsmb -U root -a
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
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/