mandb: can't create a temporary filename: Permission denied

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
dl7awl
Posts: 28
Joined: 2003-03-30 13:14
Location: Land Brandenburg
 

mandb: can't create a temporary filename: Permission denied

Post by dl7awl »

Moin rundum,

mit o.g. Fehlermeldung bricht seit einigen Tagen plötzlich immer der daily-cronjob für das update der man-Datenbank ab. Trotz gewissenhaften "Server-Logbuchs", in dem ich über alle administrativen Schritte Buch führe, sind mir keine Ã?nderungen bewusst, die mit dem Auftauchen des Problems im zeitlichen Zusammenhang stehen. Auto-Updates sind deakiviert.

Was ich bisher geprüft habe:
  • Suche bei Google und hier im Rootforum geben nichts Einschlägiges her
  • mandb oder mandb -c führen auch bei manuellem Aufruf regelmäßig zur gleichen Meldung
  • mandb -d führt leider auch nicht zu einer aussagekräftigeren Meldung
  • Permissions & Ownerships von /tmp und /usr/bin/mandb sind in Ordnung
  • manuell mktemp funktioniert
  • /var/log/messages gibt nichts her
Nun weiß ich nicht mehr recht, wie und wo ich noch suchen soll. Wie könnte man (außer duch Blick in den Quellcode) rauskriegen, welcher Mechanismus zur Erzeugung eines temporären Namens verwendet wird und warum der fehlschlägt? Fällt Euch dazu was ein?

Gruß, Manfred

P.S.: Ach ja, OS ist SuSE 9.0 mit allen relevanten Updates und Patches.
bravesurfer
Posts: 170
Joined: 2003-05-08 12:17
Location: Stuttgart
 

Re: mandb: can't create a temporary filename: Permission denied

Post by bravesurfer »

Interessanter Weise habe ich seit heute das selbe Problem, bin auch auf der Fehlersuche! Schon eine Lösung gefunden?

/tmp hat die korrekten Rechte : chmod 1777 /tmp trotzdem erhalte ich die Fehlermeldung!
dl7awl
Posts: 28
Joined: 2003-03-30 13:14
Location: Land Brandenburg
 

Re: mandb: can't create a temporary filename: Permission denied

Post by dl7awl »

BraveSurfer wrote:Interessanter Weise habe ich seit heute das selbe Problem, bin auch auf der Fehlersuche! Schon eine Lösung gefunden?
Irgendwie tröstlich, dass ich nicht der einzige bin :wink: Noch jemand?
BraveSurfer wrote:/tmp hat die korrekten Rechte : chmod 1777 /tmp trotzdem erhalte ich die Fehlermeldung!
Wie bei mir. Aber genau genommen kann es an den Permissions des Zielverzeichnisses eigentlich auch gar nicht liegen, denn lt. Fehlermeldung scheitert ja nicht das Anlegen einer temporären Datei, sondern schon die Erzeugung eines temporären Namens!

Ohnehin frage ich mich inzwischen, ob /tmp überhaupt benutzt wird. Ich habe mal auf einem "gesunden" System den mandb-Lauf mit Ctrl-Z unterbrochen und festgestellt, dass sich dann in /tmp keine zugehörige Datei befindet. (Könnte aber natürlich auch daran liegen, dass ich den falschen Zeitpunkt erwischt habe...)

Gibt es nicht Tools, mit denen man alle Filehandle-Aktivitäten überwachen kann? Damit müsste sich ja auf einem gesunden System zumindest feststellen lassen, wo die Temp-Datei angelegt wird und was damit gemacht wird. Vielleicht hilft das dann weiter.

Abgesehen von diesen Ã?berlegungen bin ich auch noch nicht weitergekommen.

Gruß, Manfred
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
 

Re: mandb: can't create a temporary filename: Permission denied

Post by captaincrunch »

Gibt es nicht Tools, mit denen man alle Filehandle-Aktivitäten überwachen kann? Damit müsste sich ja auf einem gesunden System zumindest feststellen lassen, wo die Temp-Datei angelegt wird und was damit gemacht wird. Vielleicht hilft das dann weiter.
man strace
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
dl7awl
Posts: 28
Joined: 2003-03-30 13:14
Location: Land Brandenburg
 

Re: mandb: can't create a temporary filename: Permission denied

Post by dl7awl »

Vielen Dank, das meinte ich...

Der Rest war einfach: strace -o logfile mandb

Und hier nun die Auflösung:

Was fehlschlägt, ist tatsächlich das Anlegen (open) der Temporär-Datei und nicht, wie die Fehlermeldung behauptet, die Erzeugung eines temporären Namens. Die Fehlermeldung ist insoweit schlicht inkorrekt. Es wird gar kein temporärer Name "erzeugt", sondern einfach die jeweilige PID als Name genommen - und das könnte ja auch schwerlich an irgendwelchen Permissions scheitern...

Und warum scheitert das Anlegen der Datei? Wie ich schon weiter oben vermutete, wird die Temporär-Datei gar nicht in /tmp angelegt, sondern vielmehr in /var/cache/man/de. Das Verzeichnis "de" und alle darin enthaltenen Dateien gehören auf einem intakten System dem Benutzer "man" (Gruppe "daemon"). Auf dem "kranken" System wird hingegen eine nicht vergebene Benutzer-ID (6) als Eigentümer gelistet. Der Benutzer "man" existiert weiterhin, jedoch mit der Benutzer-ID 13. Da liegt der Hase im Pfeffer!

Aus Gründen, die ich noch herausfinden muss, hat sich vermutlich die ID des Benutzers "man" von 6 auf 13 geändert. Wenn da mal nicht wieder SuSEconfig ungefragt rumgepfuscht hat...

Soweit erstmal. Ein Vergleich der aktuellen /etc/passwd mit der aus einem früheren Backup wird sicher weiteren Aufschluss geben, was im Detail an etwaigen "Umschichtungen" passiert ist, aber das ist hier wohl nicht mehr von großem allgemeinem Interesse. Der eigentliche Grund ist ja gefunden.

@Bravesurfer: Würde mich interessieren, ob es bei Dir der gleiche Grund ist, und falls ja, ob Du evtl. rausfindest, was bei Dir mit dem Benutzer "man" passiert ist und warum bzw. in welchem Zusammenhang...

Manfred
User avatar
Joe User
Project Manager
Project Manager
Posts: 11186
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: mandb: can't create a temporary filename: Permission denied

Post by Joe User »

dl7awl wrote:Wenn da mal nicht wieder SuSEconfig ungefragt rumgepfuscht hat...
Sicherlich nicht, eher hat root sein System nicht entsprechend (re)konfiguriert...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
bravesurfer
Posts: 170
Joined: 2003-05-08 12:17
Location: Stuttgart
 

Re: mandb: can't create a temporary filename: Permission denied

Post by bravesurfer »

dl7awl wrote: @Bravesurfer: Würde mich interessieren, ob es bei Dir der gleiche Grund ist, und falls ja, ob Du evtl. rausfindest, was bei Dir mit dem Benutzer "man" passiert ist und warum bzw. in welchem Zusammenhang...
Manfred
Hallo Manfred,

danke für dein Posting. Bei mir hatte es genau den selben Grund. Aus mir nicht schlüssigen Gründen (bin noch nicht dahinter gekommen) wurde die Benuzter-ID 6 vergeben.
Werde noch Nachforschungen anstellen und hier bereichten. Solltest du einen Grund herausfinden wäre ich an einem Posting sehr interessiert!

Mfg

BraveSurfer
dl7awl
Posts: 28
Joined: 2003-03-30 13:14
Location: Land Brandenburg
 

Re: mandb: can't create a temporary filename: Permission denied

Post by dl7awl »

Joe User wrote:
dl7awl wrote:Wenn da mal nicht wieder SuSEconfig ungefragt rumgepfuscht hat...
Sicherlich nicht, eher hat root sein System nicht entsprechend (re)konfiguriert...
Vorsicht mit Schnellschüssen! Wir sind hier in der "Tiefgang"-Rubrik! :wink:

Nein, ganz so einfach, wie Du oder ich vermuteten, ist es dann doch nicht. Weder hat root etwas an den User-Einträgen verpfuscht, noch das von mir zu Unrecht :oops: verdächtigte SuSEconfig.

Eine Analyse von alten Backups hat ergeben: a) User "man" hatte schon seit jeher unverändert die User-ID 13, und die meisten der zu "man" gehörenden Dateien und Verzeichnisse unter /var/cache/man gehörte bereits im Server-Lieferzustand dem nicht existierenden User mit der ID 6. In beiden Punkten hat sich also rein gar nix geändert. Letzteres ist unzweifelhaft sinnfrei, hat aber offenbar bisher nicht gestört.

Damit stellt sich jetzt plötzlich die Frage, warum mandb nicht schon immer wegen fehlender Schreibrechte ausgestiegen ist, sondern erst neuerdings. Mysteriös. Die schon so gut wie aufgeklärt erscheinende Sache scheint doch noch komplizierter zu sein und ist wieder völlig offen.

Bei den betroffenen Dateien und Verzeichnissen (also alles entsprechend find / -user 6, das sind 995 an der Zahl) habe ich zwar jetzt erstmal die Ownerships richtig gestellt, d.h. auf "man" geändert, werde aber trotzdem noch weiter forschen...

Gruß, Manfred
fritz
Posts: 891
Joined: 2002-04-23 20:12
Location: Lehrte / Hannover
 

Re: mandb: can't create a temporary filename: Permission denied

Post by fritz »

dann ist meine Vermutung:

- die Ownership war schon immer so
- die Abfrage, ob die Ownership ok ist, fällt erst seit kurzem auf'n Bauch
- Das Programm, das die Abfrage macht, ist nicht upgedatet worden
...aber eventuell benutzt es dafür eine 'gemeinsame lib', die durch eine andere Abhängigkeit erneuert wurde, und nun endlich 'richtig' funktioniert. ;-)

Gruss Fritz
dl7awl
Posts: 28
Joined: 2003-03-30 13:14
Location: Land Brandenburg
 

Re: mandb: can't create a temporary filename: Permission denied

Post by dl7awl »

Fritz wrote:dann ist meine Vermutung:

- die Ownership war schon immer so
- die Abfrage, ob die Ownership ok ist, fällt erst seit kurzem auf'n Bauch
- Das Programm, das die Abfrage macht, ist nicht upgedatet worden
...aber eventuell benutzt es dafür eine 'gemeinsame lib', die durch eine andere Abhängigkeit erneuert wurde, und nun endlich 'richtig' funktioniert. ;-)

Gruss Fritz
Hallo Fritz,

Punkt 1 und 2 : Logisch, ergibt sich ja zwingend aus dem Verlauf bzw. den geschilderten Untersuchungen.

Punkt 3: Genau da liegt der Hase im Pfeffer, aber wirklich klären lässt sich das wohl nicht mehr. Definitiv hat zum Beginn des "richtigen" Verhaltens kein Systemupdate oder eine andere Maßnahme statt gefunden, die die plötzliche Verhaltensänderung erklären könnte. Es sei denn von dritter Seite... :twisted:

Und in diesem Zusammenhang ist dann doch irgendwie folgendes interessant, auch wenn ich noch nicht sehe, wie es als Erklärung taugen könnte:

a) BraveSurfer, der ja das gleiche Problem hatte, hat seinen betroffenen Server genau wie ich ebenfalls bei IPX. Zumindest die falschen Ownerships stammen definitiv vom dortigen Lieferzustand. (Allerdings nur in einigen Fällen; Bravesurfer hat weitere IPX-Server, die nicht betroffen waren.) Vielleicht war es ja auch ein Problem bestimmter SuSE-Versionen.

b) Am gleichen Tag, als mandb das erste Mal ausstieg, obwohl es das wegen der falschen Ownerships eigentlich schon immer hätte machen müssen, tauchte noch ein weiteres (und zunächst übersehenes) Phänomen erstmalig auf: /etc/cron.daily/ntpdate stieg aus, weil der darin (ebenfalls vom Lieferzustand her) angegebene Timeserver ns1.ipx-server.de nicht mehr als solcher funktionierte. Das wiederum hängt sicherlich mit den bekannten aktuellen Umstellungen im Hause IPX zusammen (neuer DNS-Cluster löst die bisherigen Nameserver ab).

Außer der auffälligen Zeitgleichheit des Auftretens vermag ich allerdings keinen weiteren Zusammenhang zu erkennen. Obwohl im Universum ja irgendwie alles mit allem zusammenhängt, reicht mein Horizont doch nicht aus, um das veränderte mandb-Verhalten irgendwie auf Veränderungen beim DNS- bzw. Timeserver-Verhalten im Hause IPX zurückzuführen :wink: Aber sicherlich gibt es hier klügere Leute, die das vielleicht können...

Nun, die Frage ist jetzt nur noch von rein akademischen Interesse, denn die Auffälligkeiten sind ja ursächlich behoben, und mein Server läuft ohne Probleme. Aber ich freue mich jetzt schon darauf, das beim IPX-Usertreffen am 8.10. mal in Anwesenheit der RZ-Insider bei Bier und Bratwurst zur Sprache bringen zu können. Rein interessehalber... :lol:

73, Manfred

P.S.: Für alle Nicht-Funkamateure: 73 bedeutet "viele Grüße"
fritz
Posts: 891
Joined: 2002-04-23 20:12
Location: Lehrte / Hannover
 

Re: mandb: can't create a temporary filename: Permission denied

Post by fritz »

Hi Manfred,
zum Topic: Ich bewundere Deine Geduld mit 'Mensch und Maschine'.

Zu dem Treffen komme ich nur, wenn mich eine Radtour zufällig an dem Tag an den Ort führt :wink:

Zu Bier weniger, zu Bratwurst und Insidern könnte ich eine Menge sagen, will aber Dein Topic nicht länger mit Abschweifungen und 'Entgleisungen' füllen :P

73 + 55, Fritz