CUPS, das Common Unix Printing System, ist eine Software für Linux, Mac OS X und andere Unix-Derivate, welche eine Drucker-Infrastruktur ermöglicht und so bspw. auch das Drucken über das Netzwerk gewährleistet. Einzelne Druckaufträge sind dabei stets Nutzern des Systems zugeordnet. Die Verwaltung dieser Druckaufträge wie auch der Drucker und Druckserver selbst erfordert daher immer eine Authentifizierung als Nutzer.

CUPS selbst enthielt in der Version 1.2 bereits ausreichende Mechanismen, um verschiedene Nutzerdatenbanken anzubinden. Der hier vorgestellte Patch war dennoch erforderlich, um auch eine Authentifizierung mit Hilfe einer Chipkarte zu ermöglichen, welche Nutzer in einen Kartenleser einstecken müssen. Hinzu kam, dass das auf CUPS und anderen Anwendungen aufbauende System fallweise verschiedene Authentifizierungen akzeptieren musste, weshalb mit dem vorliegenden Patch die Integration einer externen Logik ermöglicht wurde. Ist der Patch vorhanden, dann greift CUPS auf ein konfiguriertes Programm oder Skript zu, um jede Authentifizierung prüfen zu lassen. Dieses externe Skript kann dann entweder den Zugriff gestatten oder verwehren oder aber seine Zuständigkeit ablehnen und CUPS selbst die Authentifizierung vornehmen lassen.

Patch herunterladen

cups-1.2.10-toxa-auth-ext.diff

Installation

  1. Quelltexte herunterladen und extrahieren
  2. Patch herunterladen und im zuvor extrahierten Verzeichnis ablegen.
  3. Quelltext mit dem Kommando
      patch -p1 <name-der-patch-datei
    ändern.
  4. Übersetzung der Quellen wie seitens CUPS beschrieben fortsetzen.

Konfiguration

Die einzige erforderliche Konfiguration betrifft die Wahl eines externen Programms oder Skripts, welches im Zuge der Authentifizierung von CUPS aufgerufen werden soll. Hierfür wird durch den Patch die Konfigurationsdirektive ToxaExternalAuthScript definiert, welche in der Konfigurationsdatei von CUPS ergänzt wird und als Wert den vollen Pfad des Programms bzw. Skripts erhält.