Page 1 of 1
setuid und Coredumps
Posted: 18. Aug 2006 17:29
by hjb
Hi!
Aus der setuid-Manpage:
If uid is different from the old effective uid, the process will be forbidden
from leaving core dumps.
Wie kann man das umgehen und Coredumps dennoch ermöglichen? Das Verhalten von setreuid scheint identisch zu sein.
Danke,
hjb
Posted: 18. Aug 2006 21:51
by Marco Gerber
guten Tag
Ich habe hier gerade den Source des Kernels 2.6.11 vor mir.
In der Datei arch/i386/kernel/ptrace.c steht folgendes:
Code: Select all
ab Zeile 680:
680 asmlinkage long sys_setuid(uid_t uid)
681 {
682 int old_euid = current->euid;
....
701 if (old_euid != uid)
702 {
703 current->mm->dumpable = 0;
704 wmb();
705 }
Deinem Vorhaben wird also in Zeile 703 ein Riegel geschoben.
Ich kenne das Ausmass deines Vorhabens nicht, aber zu Testzwecken koenntest du die Zeile dort enstprechend anpassen auf:
(nicht getestet !)
Ansonsten musst du mehr Informationen geben, in welchem Umfang dies geschehen soll...
hth
Marco
Posted: 19. Aug 2006 11:25
by hjb
Hi!
Danke, das ist schon mal ein Hinweis. Nun möchte ich nicht unbedingt den Kernel patchen. Es wäre zwar möglich, aber wenn das Programm durch einen bestimmten Aufruf die Option selbst wieder einschalten könnte, wäre mir das lieber.
Das Programm ist ein Daemon, der als Root (aus init.d heraus) gestartet wird und dann als anderer User laufen soll. Wie Apache usw.
Danke,
hjb