Include /etc/cups/access.conf in cupsd.conf unwirksam: Alle können überall drucken

Hallo zusammen,

mir ist heute aufgefallen, dass bei uns trotz entsprechender Einstellungen in der Schulkonsole anscheinend von allen Räumen aus auf allen Druckern gedruckt werden kann. Und das war “früher” (vor ein paar Wochen) definitiv nicht so.

Hat jemand spontan eine Idee, wo ich nachschauen könnte?

Viele Grüße

Andreas

Hallo Andreas,

poste mal /etc/cups/access.conf
und
/etc/linuxmuster/room_defaults
(beides aus dem Kopf)

Viele Grüße
Steffen

Auszüge aus /etc/linuxmuster/printers

227-pr02        r223,r001,r227,r203     -
203-pr02        r001,r203
bk-pr02 bk,r203

Auszüge aus /etc/cups/access.conf:

<Location /printers/227-pr02>
  Order Deny,Allow
  Deny From All
  Allow From 127.0.0.1
  Allow From 10.16.223.*
  Allow From 10.16.1.*
  Allow From 10.16.227.*
  Allow From 10.16.203.*
  Allow From 10.16.1.1
</Location>
<Location /printers/203-pr02>
  Order Deny,Allow
  Deny From All
  Allow From 127.0.0.1
  Allow From 10.16.1.*
  Allow From 10.16.203.*
  Allow From 10.16.1.1
</Location>
<Location /printers/bk-pr02>
  Order Deny,Allow
  Deny From All
  Allow From 127.0.0.1
  Allow From 10.16.125.*
  Allow From 10.16.203.*
  Allow From 10.16.1.1
</Location>

Sieht für mich alles ok aus.

Ich kann aber trotzdem von 10.16.36.100 aus drucken:

10.16.36.100 - - [25/Jan/2019:14:18:05 +0100] "POST /printers/227-pr02 HTTP/1.1" 200 215 Create-Job successful-ok
10.16.36.100 - - [25/Jan/2019:14:18:05 +0100] "POST /printers/227-pr02 HTTP/1.1" 200 9086 Send-Document successful-ok
10.16.36.100 - - [25/Jan/2019:14:18:11 +0100] "POST /printers/bk-pr02 HTTP/1.1" 200 216 Create-Job successful-ok
10.16.36.100 - - [25/Jan/2019:14:18:11 +0100] "POST /printers/bk-pr02 HTTP/1.1" 200 9085 Send-Document successful-ok
10.16.36.100 - - [25/Jan/2019:14:18:24 +0100] "POST /printers/203-pr02 HTTP/1.1" 200 216 Create-Job successful-ok
10.16.36.100 - - [25/Jan/2019:14:18:24 +0100] "POST /printers/203-pr02 HTTP/1.1" 200 9086 Send-Document successful-ok

Andreas

Interessante Meldung in /var/log/cups/error_log beim Neustart von cups:

E [26/Jan/2019:09:48:18 +0100] Unknown directive Include on line 52 of /etc/cups/cupsd.conf.

Die betreffende Zeile sieht so aus:

Include /etc/cups/access.conf

Hat da der letzte Cups-Upgrade was geändert…?

Andreas

Nachtrag: Außerdem erscheint folgende Fehlermeldung bei service cups restart:

E [26/Jan/2019:06:31:00 +0100] Hostname lookup for "10.*" failed.
E [26/Jan/2019:06:31:00 +0100] Bad BrowseAddress 10.* at line 10.

In Zeile 10 der cupsd.conf steht:

BrowseAddress 10.*

Wie wohl auch bei u.a. @baumhof: BrowseAddress in cupsd.conf - #3 von baumhof
Das hat mit dem eigentlichen Problem aber nichts zu tun.

Trotz längerer Recherche konnte ich bisher nicht herausfinden, wann die Direktive “Include” abgeschafft wurde und wie man sie ersetzen könnte.

man cupsd.conf auf dem Server listet sie noch auf:

       Include Dateiname
            Schließt die genannte Datei ein.

In der Dokumentation der neuesten Version gibt es sie nicht mehr:
https://www.cups.org/doc/man-cupsd.conf.html

Hat denn sonst noch jemand dieses Problem?

Viele Grüße

Andreas

Mein derzeitiger Workaround (noch nicht getestet mit echten Druckaufträgen, der cups startet aber wieder ohne Fehlermeldung):

  1. Die Zeile Include /etc/cups/access.conf aus /etc/cups/cupsd.conf entfernen.
  2. Den Inhalt von /etc/cups/access.conf an /etc/cups/cupsd.conf anhängen.

Damit entfällt momentan halt die Einstellmöglichkeit über die Schulkonsole.

So wie ich den Ablauf bisher verstehe, wird ja die /etc/linuxmuster/printers von der Schulkonsole editiert. Aus dieser wird dann wohl (wann und wo? -> Nachtrag: durch Aufruf von /usr/sbin/import_printers) die /etc/cups/access.conf erzeugt.

Andreas

Die manpage ist von 2011, da muesste man im Changelog schon ein Stueckchen zurueckgehen :slight_smile:

Hallo Andreas!
Wir “haben” das gleiche Problem.
Ich bin aber 2 Versionen zurück auf Version 02. Damit funktioniert es noch.
Ist zwar keine vorbildliche Idee, but works for me. :wink:
Gruß - Rainer

Ist eigentlich off topic aber ist es bei Euch denn notwendig, dass der Lehrer ueber die Schulkonsole Drucker sperren/freigeben kann?

Ich habe die Drucker den Raeumen zugeordnet und jeder im Raum darf immer Drucken, macht aber irgendwie so gut wie niemand. Die Schueler haben doch gar keine Lust mehr auf Papier und Drucker/Toner/Tinte/Papier sind doch auch so billig geworden, dass niemand mehr die Schule nutzt um den ganzen Privatkram rauszulassen.
Der Papierbedarf aller PC-Raeume bei uns pro Jahr duerfte locker an einem Tag durch die Kopierer im Lehrerzimmer durchrauschen - vieles davon vollkommen fuer’n Arsch.

Nein, bei uns sind alle Drucker immer freigegeben.

Das haben wir auch, aber das Problem im Moment ist ja gerade dieses: Die vom Administrator (in der Schulkonsole) vorgenommene Zuordnung funktioniert nicht mehr. D.h. von überall im Haus kann man auf jedem Drucker im Haus drucken.

Andreas

Habe jetzt auch eine Lösung hingefrickelt, indem ich das Ende von /usr/sbin/import_printers etwas verändert habe:

### Anfang 27.01.2019, wegen Include-Problem nach cups-Update
#### include access custom file
### echo "include $ACCESSCUSTOMCONF" >> $ACCESSCONF.new || cancel "Cannot write $ACCESSCONF.new!"
### Ende 27.01.2019

[ ! -e "$ACCESSCUSTOMCONF" ] && touch $ACCESSCUSTOMCONF


mv $ACCESSCONF.new $ACCESSCONF || cancel "Cannot write $ACCESSCONF!"

### Anfang 27.01.2019, wegen Include-Problem nach cups-Update
CUPSKONFIG=/etc/cups/cupsd.conf
CUPSKONFIGVORLAGE=/etc/cups/cupsd.conf.vorlage
cat $CUPSKONFIGVORLAGE $ACCESSCONF > $CUPSKONFIG
### Ende 27.01.2019


restart cups || cancel "Cannot restart CUPS!"

[ -e "$ACCESSCONF.off" ] && rm -f $ACCESSCONF.off

rm $lockflag || exit 1

exit 0

/etc/cups/cupsd.conf.vorlage ist einfach die alte /etc/cups/cupsd.conf ohne die letzte Zeile Include /etc/cups/access.conf

Viele Grüße

Andreas

Hallo Andreas!
Nette Lösung!
Das ist eben linuxmuster.net - es gibt Lösungen. :wink:
Gruß - Rainer

Problem gelöst:

Funktioniert alles wieder auch ohne die o.g. Änderungen in /usr/sbin/import_printers.

Andreas