Re: rc-Skripte debuggen

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Thu, 23 Mar 2006 19:11:22 +0100 (CET)

Rocco Rutte <pdmef(at)gmx.net> wrote:
> Oliver Fromme <olli(at)lurza.secnetix.de>:
> > Das wäre eine Möglichkeit. Wenn das nicht hilft, könnte
> > man einen Wrapper für die kill()-Funktion schreiben, den
> > man den Binaries mit LD_PRELOAD unterschiebt (sowas habe
> > ich bereits gemacht; funktioniert prima). Erfordert
> > allerdings natürlich ein wenig C-Kenntnisse.
>
> Das Prinzip ist mir klar, hoffentlich (Source mit gcc und -shared
> überstzen). Aber wie funktioniert das mit der Rekursion? Ich meine: mit
> LD_PRELOAD bekommt das Binary mein kill(), aber wie weiss der Linker,
> dass ich mit kill() in der Funktion die aus libc meine? dlopen() auf die
> libc?

Ja, genau.

Ich habe auf diese Weise vor vielen Jahren dem RealPlayer
eine eigene Version von XPutImage (aus der libX11) unter-
geschoben, womit ich dann Live-Streams auf Festplatte mit-
schneiden konnte.

> Und wohin schreibe ich LD_PRELOAD? In /etc/rc?

Ja. Sauberer wäre /etc/rc.early, aber ich weiß nicht, ob
das in diesem Fall früh genug ausgeführt wird.

> > In 7-current wurde kürzlich ein generisches Auditing-
> > Framework implementiert (von TrustedBSD's OpenBSM).
>
> Das habe ich auch gelesen und hätte es gern. Ich habe aber keine
> Maschine für Tests frei... :-(

Geht mir ganz ähnlich.

Gruß
   Olli

-- 
Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"With sufficient thrust, pigs fly just fine.  However, this
is not necessarily a good idea.  It is hard to be sure where
they are going to land, and it could be dangerous sitting
under them as they fly overhead." -- RFC 1925
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 23 Mar 2006 - 19:12:46 CET

search this site