1 / 48

Common Unix Printing System

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)

rose-dudley
Télécharger la présentation

Common Unix Printing System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Common Unix Printing System

  2. Contenu : • Bref historique • Fonctionnement schématique • Internet Printing Protocol • Fichiers de configuration • Commandes • Interaction avec LPD • Interaction avec Samba

  3. 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

  4. 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.

  5. Fonctionnement schématique • CUPS se base sur un processus central de schedule d'impression qui doit : • Gérer les jobs d'impression • Gérer les commandes administratives • Fournir des infos sur l'état actuel des imprimantes et jobs ( que ce soit des imprimantes locales ou à distance )

  6. Fonctionnement schématique

  7. 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

  8. 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 )

  9. 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.

  10. Internet Printing Protocol • Schémas de fonctionnement d'IPP : Protocole de type client-serveur Serveur indépendant : machine à laquelle est connectée une ou plusieurs imprimantes Serveur « imprimante » : imprimante réseau Il fallait des facilités à retrouver une imprimante sur le réseau. Authentification du client et du serveur Garantie de la confidentialité des données circulant sur le réseau.

  11. Internet Printing Protocol • CUPS utilise une version enrichie d'IPP, avec 13 nouvelles fonctionnalités par rapport au standard.

  12. 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

  13. 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.

  14. 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.

  15. 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.

  16. 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 ...

  17. cupsd.conf • ListenDirective 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

  18. 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.

  19. cupsd.conf • Exemple type pour Location :<Location /printers/HP>AuthClass ...AuthGroupName ...AuthType ...Order deny,allowDeny from AllAllow from ...</Location>

  20. cupsd.conf • LogLevelIndique 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

  21. 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.

  22. 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>

  23. 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>

  24. 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.

  25. 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

  26. passwd.md5 • Contient la liste des comptes utilisateurs « Digest ». • Chaque entrée est du type :nom:group:encrypted_passwd

  27. 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.

  28. Commandes • 3 types de commandes :- System V- Berkeley- CUPS

  29. 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

  30. 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

  31. 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

  32. Commandes System V • (cups)enable • (cups)disable • accept • rejectToutes ces commandes peuvent prendre -h server en paramètre pour répercuter la commande au niveau du serveur. Autre option : -r « motif refus »

  33. Commandes System V • lpstatLa 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

  34. Commandes Berkeley • lprCommande d'impression. • lpqaffiche l'état des jobs de l'imprimante par défaut. • lprmannule le job d'impression courant.

  35. 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 -1 queuing is enabled printing is enabled no entries daemon presentlpc> quit

  36. Commandes CUPS • lpinfoPermet de récupérer les infos sur :- les modèles/drivers ( -m )- les devices ( -v )

  37. 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

  38. Commandes CUPS • lppasswdPermet 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.

  39. 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 )

  40. 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

  41. CUPS & Windows • Impression via Samba • Version 2.0.6 minimum (filtre backend non fourni sinon)

  42. CUPS & Windows • Client UNIX, serveur WindowsAfin 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

  43. CUPS & Windows • Client Windows, serveur UNIXIl faut modifier /etc/samba/smb.confLa section «global» doit contenir ceci:[global]load printers = yesprinting = cupsprintcap name = cups

  44. CUPS & Windows • Dans la section «printers» :[printers]comment = All Printerspath = /var/spool/sambabrowseable = yespublic = yesguest ok = yeswritable = noprintable = yesprinter admin = root

  45. CUPS & Windows • Pour le partage des pilotes d'impression : [print$]comment = Printer Driverspath = /usr/share/cups/driversbrowseable = yesguest ok = noread only = yeswrite list = root

  46. CUPS & Windows • Il faut encore exporter les imprimantes vers CUPS.cupsaddsmb -U root HP BJCcupsaddsmb -U root -a

  47. 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

  48. 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/

More Related