Am Samstag, November 16, 2024 13:09 CET, schrieb "E. Hoffmann" h0ffmann@posteo.net:
[...] noch nicht, wann ich dazu komme (immerhin kann ich die paar Scans auch als root machen) Bis dann - Erich
Meine Frage wäre wie genau Du das als 'root' machst und ob Du das ggf. zuerst als 'root' versucht hast. Hintergrund: Programme als root laufen zu lassen ist nicht immer eine gute Idee. Manche Programme/Prozesse generieren Dateien falls sie noch nicht vorhanden sind (Konfigurationsdateien aber auch Sockets etc.). Wenn man ein Programm beim ersten Mal als root auf- ruft dann gehören diese Dateien natürlich root. Beim Aufruf als normal- sterblicher Benutzer können die dann nicht gelesen werden. Wenn das ein möglicher Grund ist kannst Du strace mit der Option --trace=%file aufrufen, das filtert dann die Systemcalls die Dateioperationen implementieren auf.
Gruss RalfD
On Sat, Nov 16, 2024 at 10:26:21AM +0000, E. Hoffmann wrote:
On Sat, 16 Nov 2024 11:08:31 +0100 tomas@tuxteam.de wrote:
On Sat, Nov 16, 2024 at 09:42:03AM +0000, E. Hoffmann wrote:
On Sat, 16 Nov 2024 09:30:21 +0100 tomas@tuxteam.de wrote:
(...)
Vielleicht lernt mensch was daraus, wenn Du den Aufruf unter strace laufen lässt? Weisst Du, wie das geht?
Oh, nein, aber ich habe es gerade gegoogelt, nur komme ich mit der Unmenge an Informationen nicht klar, die bei den verschiedenen Optionen (-e , -i usw.) und mit dem flag -o erhalte ich eine Output-Datei mit über 30'000 Zeilen...
Ja, das produziert ziemlich viel Müll. Trick dabei ist, wie Du schon herausgefunden hast, -o <Datei>. Die andere wichtige Option (imE) ist -f, so dass Unterprozesse auch mitmachen dürfen. Manchmal löst so ein Kommando einen Rudel von Prozessen und die Schweinerei passiert irgendwo "da unten".
Mit -ff (eine Datei pro Prozess, mit PID im Namen) bin ich nie glücklich geworden. Für Menschen mit viel mehr Fokus als ich habe ;-)
Dann brauchst Du etwas, um die Datei anzugucken -- ein Editor, dem bei der Grösse nicht schwindlig wird (Vim oder Emacs tun es) oder einfach less.
Schliesslich die Feststellung, dass das, was Du suchst, ziemlich am Ende steht: nachdem das Programm mit EPERM eins auf die Finger gekriegt hat, torkelt es noch ein Bisschen, gibt beleidigt die Fehlermeldung aus, packt vielleicht ein- zwei Zelte ein und geht.
Du suchst also ein EPERM ziemlich am Ende, vielleicht ein paar hundert Zeilen davon entfernt. Und davor, den Syscall, der das "gemacht" hat (manchmal ist Syscall und Fehler nicht in derselben Zeile, insbesondere, wenn mehrere Prozesse durcheinanderschreien).
Das könnte z.B. ein Open sein. Der Pfad ist dann interessant. Oder es ist ein openat, dann muss mensch sich über das fd des Directories zu dessen Pfad hangeln. Oder...
Mit Dem Pfad kannst Du z.B. die Permissions der Datei angucken. Oder ob ein AppArmor oder SELinux-Fluch draufliegt. Oder.
Sowas in der Art :)
lg
t
-- E. Hoffmann h0ffmann@posteo.net