CUPS: "Kann Passwortdatei nicht öffnen" Warum?

Einrichten des Druckers und des Drucksystems, Scannerkonfiguration und Software zum Scannen und Faxen.
Antworten
WGz
Beiträge: 33
Registriert: 20.12.2007 16:55:53
Wohnort: Schramberg

CUPS: "Kann Passwortdatei nicht öffnen" Warum?

Beitrag von WGz » 21.12.2007 18:47:28

Hallo,

ich bin von SuSE her gewohnt, mit <lppasswd -g sys -a root> ein Passwort
ohne Schwierigkeiten zu definieren.

Mit Debian wird mir gemeldet: "lppasswd: Kann Passwortdatei nicht öffnen:
Keine Berechtigung", obwohl root Mitglied der Gruppe lpadmin ist.

Auch "lppasswd root" ergibt diese Fehlermeldung nach Eingabe des Pass-
worts.

Woran hängt es?

Dank für Hinweise,
Werner.

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Beitrag von Danielx » 21.12.2007 23:16:11

Das Problem ist, dass lppasswd setuid lp ist.
Da lp aber keine Schreibrechte auf /etc/cups/ hat, gibt es eine Fehlermeldung.

Dazu gibt es schon seit über einem Jahr einen Bug-Report:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=378062

Du kannst also setuid entfernen und dann lppasswd als root ausführen oder lppasswd suid root machen, wenn dir das nicht zu riskant ist.

Gruß,
Daniel

WGz
Beiträge: 33
Registriert: 20.12.2007 16:55:53
Wohnort: Schramberg

Beitrag von WGz » 22.12.2007 10:46:12

Danielx hat geschrieben: Du kannst also setuid entfernen und dann lppasswd als root ausführen
Oh, wie geht das?
oder lppasswd suid root machen, wenn dir das nicht zu riskant ist.
Ja, so habe ich das gemacht: user = root und das Passwort definiert.
Dann habe ich wieder user = lp zurückgestellt.

Aber offensichtlich ist "setuid entfernen" die saubere Methode.

Merkwürdig nur, dass ich nicht nach dem so definierten Passwort
gefragt werde, sondern nach dem des root. Bei SuSE war hier doch
einiges anders.

Jedenfalls meinen Dank für den Hinweis,

Werner.

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Beitrag von Danielx » 21.01.2008 01:34:04

So, habe es jetzt mal getestet:
WGz hat geschrieben:Merkwürdig nur, dass ich nicht nach dem so definierten Passwort
gefragt werde, sondern nach dem des root.
Die cupsd.conf muss entsprechend angepasst werden, dann wird auch der entsprechend eingerichtete Benutzer und dessen Passwort akzeptiert (siehe unten).

SUID entfernen:

Code: Alles auswählen

# chmod -s /usr/bin/lppasswd
Benutzer anlegen:

Code: Alles auswählen

# lppasswd -g cupsadm -a blabla
Der Benutzer (hier: blabla) muss auf dem System nicht existieren.
Falls die Datei /etc/cups/passwd.md5 noch nicht existiert, wird diese angelegt.

In cupsd.conf muss etwa so etwas stehen:

Code: Alles auswählen

<Location /admin>
  AuthType BasicDigest
  AuthClass Group
  AuthGroupName cupsadm
  Encryption Required
  Order allow,deny
  Allow @LOCAL
</Location>
In diesem Zusammenhang sind wichtig:
AuthType BasicDigest
AuthClass Group
AuthGroupName cupsadm
Gruß,
Daniel

Antworten