• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

updatedb Fehler "Unknown group nobody" -> plocate.db veraltet

Mir ist heute aufgefallen, dass meine plocate Datenbank unter Tumbleweed, (z.Zt. Version 20260217) schon seit gut einem Monat nicht mehr upgedatet wird.
Deshalb habe ich updatedb einmal manuell (als su) ausgeführt und dabei folgenden Fehler erhalten
Code:
updatedb
Unknown group nobody
Besagte Gruppe gibt es natürlich auf dem System
Code:
less /etc/passwd | grep nob
nobody:x:65534:65534:nobody:/var/lib/nobody:/usr/sbin/nologin
Das ist mir zu hoch.
"Früher" gab es mal Probleme damit ob man updatedb als nobody oder als root laufen lies. Habe ich beides ausprobiert. Ändert aber nix.
Nebenan steht eine etwas ältere Tumbleweed Version 20251211 auf der updatedb problemlos läuft.
(In der älteren Version hat die Gruppe nobody eine shell /bin/bash statt /usr/sbin/nologin ... das hilft aber auch nichts.)

Weiß jemand was hier los ist und wie ich updatedb wieder zu Laufen bekomme?
 
Beide Systeme sind noch vor dem Wechsel bei Tumbleweed von apparmor zu selinux aufgesetzt worden und verbleiben ohne selinux. Auf beiden Systemen ist dementsprechend auch systemctl status apparmor.service enabled und active.
 
auf dem "aktuelleren" System
Code:
zypper packages --installed-only | grep plocate
i+ | Main Repository (OSS)     | plocate               | 1.1.24-1.1      | x86_64
i  | Main Repository (OSS)     | plocate-apparmor      | 1.1.24-1.1      | noarch
(wie geschrieben, war der letzte zypper dup dort am 17.2.) auf dem weniger aktuellen System das gleiche nur mit 1.1.24-1.1 -> 1.1.23-2.2
 
Vorab: Ich verwende plocate nicht (und ich nutze auch nicht apparmor sonder selinux).
Na ja, aber die Idee mit apparmor ist ja schon mal "nicht schlecht" ;)
Mir war gar nicht bewusst, dass man hier wiedermal ein Kuckucksei im Nest hat, aber Du hast recht, apparmor kontrolliert updatedb und plocate
Code:
~ # aa-status
apparmor module is loaded.
172 profiles are loaded.
89 profiles are in enforce mode.
   ...
   /usr/bin/{p,}locate
   /usr/{bin,sbin}/updatedb
   ...
Ob das wirklich mit besagtem Konflikt zusammenhängt, können wir dann ja auch noch ein wenig weiter eruieren. Im apparmor audit log findet sich (nur) auf der Maschine mit Problemen folgendes
Code:
/var/log/audit # tail -F audit.log
...
type=AVC msg=audit(1771781153.377:499): apparmor="DENIED" operation="open" class="file" profile="/usr/{bin,sbin}/updatedb" name="/etc/nsswitch.conf" pid=18240 comm="updatedb" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
type=AVC msg=audit(1771781153.377:500): apparmor="DENIED" operation="open" class="file" profile="/usr/{bin,sbin}/updatedb" name="/usr/etc/nsswitch.conf" pid=18240 comm="updatedb" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
type=AVC msg=audit(1771781153.377:501): apparmor="DENIED" operation="open" class="file" profile="/usr/{bin,sbin}/updatedb" name="/etc/group" pid=18240 comm="updatedb" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
...
Das apparmor="DENIED" klingt natürlich unfreundlich - und bezieht sich genau auch auf /etc/group.
Also könnte man ja auch noch ein strace vom updatedb machen. Warum strace? Weil der verbose Modus von updatedb bei mir genauso wenig Info wie der normale Modus ergibt. Also
Code:
~ # strace updatedb
execve("/sbin/updatedb", ["updatedb"], 0x7ffe72c8e390 /* 63 vars */) = 0
... blablabla ...
openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
openat(AT_FDCWD, "/usr/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
openat(AT_FDCWD, "/etc/group", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
write(2, "Unknown group nobody\n", 21Unknown group nobody
)  = 21
exit_group(1)                           = ?
+++ exited with 1 +++
Und ja, man sieht, dass die Fehlermeldung mit der updatedb gegenüber dem Nutzer abbricht anscheinend daher kommt, dass der Zugriff auf drei Dateien und insbesondere auf die Liste der Gruppen nicht erlaubt wird?!?!

Das grenzt den Fehler doch hoffentlich ein.
Da ich mich aber mit den Innereien von apparmor nicht auskenne weiß jetzt nicht wie man das fixed?
 
Zuletzt bearbeitet:
Oben