Univention Corporate Server

Extended print services documentation

Table of Contents

1. Print quota configuration
1.1. Introduction
1.2. Installation
1.3. Configuration of print quotas
1.3.1. Enabling of print quotas
1.3.2. Assigning quota limits to users and groups Assignment via a policy Assignment via the UMC module
1.4. Querying the printer quotas
1.5. Resetting the printer quotas

§Chapter 1. Print quota configuration

§1.1. Introduction

The UCS print service allows the use of print quotas. Print quotas can be defined for printers and printer groups using policies.

Print quotas are implemented using the component PyKota. It creates an interface between the print server CUPS and the connected printer. Before the print job is sent to the printer, the system checks whether the user is authorized to print. In addition, every print job is logged, which allows cost evaluations.

There are two thresholds for the print quotas:

  • The hard limit is the maximum number of printable pages. Further print jobs will be rejected. The user is notified by e-mail.
  • Once the soft limit is reached, an e-mail can be sent warning the user that the hard limit will soon be reached. This is done by setting the Univention Configuration Registry variable cups/quota/inform to yes. This notification is disabled in the standard setting.

PyKota interprets print jobs in the following print formats: PostScript, PDF, PCL1, PCL2, PCL3, PCL4, PCL5, PCLXL, PCL6 and ESC/P2.

The print quota status is not saved in the LDAP directory service, but rather in a separate PostgreSQL database set up automatically via the univention-printquotadb package on the print server.

§1.2. Installation

Print quota support is disabled as standard. It must be subsequently set up by installing the univention-printquota package.

Enabling the print quotas results in an internal change to the printer management. For this reason, univention-printquota must be installed on all print servers.

§1.3. Configuration of print quotas

§1.3.1. Enabling of print quotas

Before a print quota can be assigned to a printer or printer group, the option Enable quota support must be activated in the Univention Management Console.


Figure 1.1. Enabling quota support

Enabling quota support


Print quotas can only be used for printers connected via the protocols lpd, ipp, http, socket and smb. It is not possible to set up print quotas for printers connected via usb, parallel and file URIs.

§1.3.2. Assigning quota limits to users and groups

The printer quotas can then be assigned in two ways; via a policy or specifically for each user in the UMC module Printer administration.

§ Assignment via a policy

The quota can be configured as a soft limit (warning threshold) and a hard limit (maximum number of printable pages) respectively via a print quota policy. The set values are always interpreted minus 1. I.e., if the user has a hard limit of 100, a maximum of 99 pages can be printed. This gives the following special values:

  • 0: The print volume is unlimited
  • 1: The user or group cannot print any pages at all

The assignment is possible in the following ways:

  • Print quota for users: The print quota applies for the specified user(s) individually.
  • Print quota for groups per user: The limit is evaluated individually for every user in the group specified here.
  • Print quota for groups: The group specified here is assigned a common contingent. All users belonging to the group can use this contingent.

§ Assignment via the UMC module


Figure 1.2. List of available printers

List of available printers

The UMC module Printer administration allows the configuration of user-specific printer quotas. Quotas can be assigned to users for all printers on which a quota is enabled (see Section 1.3.1) under more -> Edit quota. A list of all users for which quotas are configured is displayed. Add new record can now be used to add an additional entry: A user is selected under User name and a soft limit and hard limit has to be specified. The page counter can be reset to zero under more -> Reset user quota.


Figure 1.3. List of configured print quotas

List of configured print quotas

§1.4. Querying the printer quotas

The quota data can only be queried if print quota is enabled on at least one printer share; otherwise, repykota delivers an error message: /usr/bin/repykota : There's no printer matching *.

The quota status can be viewed for all users using the command repykota or alternatively for a single user with repykota USERNAME:

:~# repykota
Report for user quota on printer HP ()
Pages grace time: 7 days
Price per job: 0.000
Price per page: 0.000
User           overcharge used  soft hard  balance grace     total
Administrator   -Q   1.0     0   500  1000     0.00             20
user            -Q   1.0    20   100   200     0.00             20
                                                 Total :        40
                                                  Real :         0

§1.5. Resetting the printer quotas

The page counter for a user can be reset either with the UMC module Printer moderation (see Section or in the command line using the command edpykota reset:

:~# edpykota --reset user01
Extracting datas...

The following command removes the print quota for a user on all printer shares:

edpykota --delete user01

or on a specific printer:

edpykota --delete user01 --printer labelprinter