Serveur d'impression cups et samba
L'impression en réseau était délicate avant l'arrivée de cups.
Je vous explique ici comment utiliser un serveur d'impression cups
centralisé pour gérer plusieurs imprimantes, utiliser des drivers
postscript, mettre en place un système de quotas d'impression ...
J'ai utilisé la documentation Samba
Installation du serveur cups sous linux
Cette partie ne doit pas poser de problème particulier. Les
distributions récentes permettent de détecter les imprimantes réseau
et de les configurer facilement sur le serveur.
Utilisation du serveur cups avec samba
Pour utiliser le système d'impression cups avec samba, il suffit
d'éditer le fichier /etc/samba/smb.conf :
[Global] ...
load printers = yes
printing = cups
printcap name = cups
printer admin = root
...
[printers]
comment = Imprimantes
path = /var/spool/samba
browseable = no
public = yes
guest ok = yes
writable = no
printable = yes
printer admin = root
[print$]
comment = drivers pour imprimantes
path = /etc/samba/printer_drivers
browseable = yes
guest ok = no
read only = yes
write list = root
Installation des drivers postscript
La solution la plus simple est d'utiliser les mêmes drivers postscript
sur les postes windows pour toutes les imprimantes. C'est le seul
moyen de compter le nombre de pages réellement imprimées, et cela
facilite énormément la vie de l'administrateur réseau !
Installation des imprimantes sur les postes windows
Il ne reste plus qu'à passer sur chaque poste windows pour
installer les imprimantes de votre choix.
Mise en place des quotas d'impressions
Pour l'instant, cups permet facilement de gérer des quotas
d'impression de la forme : "tous les utilisateurs peuvent
imprimer au plus n pages dans une période de m secondes". Il
n'est malheureusement pas possible de définir des quotas
personnalisés. Pour cela, il faut attendre que cette
fonctionnalité soit implémentée dans cups (prochaine version ?)
ou alors jeter un coup d'oeil à
Pykota
Pour activer les quotas sur l'imprimante printer1,
sur le serveur il suffit de lancer :
/usr/sbin/lpadmin -p printer1 -o job-quota-period=604800 -o job-page-limit=5
Vérifier dans /etc/cups/printers.conf les paramètres QuotaPeriod
et PageLimit. Ne pas oublier d'empêcher l'utilisateur nobody
d'imprimer sur une imprimante en rajoutant dans le fichier
printers.conf, à l'imprimante concernée, la ligne
DenyUser nobody
Surveillance des jobs d'impression
Vous pouvez voir dans
/var/log/cups/page_log
tous les jobs d'impression lancés, et dans
/var/log/cups/error_log
les dépassements de quotas des utilisateurs.
J'ai écrit un petit script python qui lit ces fichiers et qui
produit des statistiques d'utilisation. On peut l'améliorer pour
envoyer un mail aux utilisateurs qui dépassent leurs quotas ...
Soyeur Alain
Last modified: Mon Sep 22 16:36:39 CEST 2003