[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Chroot Skriptausführung Ebene



On Fri, 2005-03-04 at 15:40 +0100, Heike C. Zimmerer wrote:

> Und jetzt wieder.  Du definierst den Kontext um, dass es doch noch
> passt.

Quatsch.

> >  su - root /tmp/echo.sh \"a b\"   # zwei Paramater !
> 
> Das erfindest du jetzt.  Es ging von Anfang an um folgendes Skript:
> 
>   dchroot -c ia32 -d gmplayer "\"$@\""

Dass und wie dchroot su aufruft, habe ich vorher gezeigt. Schade,
dass du meine Mails nicht liest:
http://lists.debian.org/debian-user-german/2005/03/msg00428.html

> Und zwar auch für *Dich*.  Denn du geruhtest in

Es geschah tatsächlich in Ruhe.

> |  argv[5] -> "alle Parameter" ($@ expandiert)

> Du kannst sinnentnehmend lesen?  Hier steht ganz eindeutig deine
> Behauptung, "\"$@\"" werde zu einem einzigen Argument (hier: argv[5])
> und als solches an dchroot übergeben.  Klarer Fall von "Nö".

Stimmt, und das habe ich auch korrigiert in einem Followup zu eben
der Mail:
http://lists.debian.org/debian-user-german/2005/03/msg00428.html

> Von
> deinem su-Kommando im jetzigen Artikel war zu diesem Zeitpunkt weit
> und breit keine Rede. Es war völlig klar, worauf du dich beziehst: auf
> die Übergabe *an* dchroot und nicht auf die spätere *durch* dchroot,
> von der du jetzt redest.

Meine originale Aussage:

> Hmm? Alle Parameter werden in der jetzigen Version an gmplayer als
> ein Parameter übergeben (in argv[1] resp $1, je nach Philosophie).

wie hier gepostet
http://lists.debian.org/debian-user-german/2005/03/msg00406.html

Bzgl. su Kommando: den call stack habe ich in oben erwähnten Followup
im Detail dargelegt. Für dich nochmal

execve("/usr/bin/dchroot", ["dchroot", "-c", "ia32", "-d", "gmplayer", "\"a", "b\""], [/* 14 vars */]) = 0
execve("/bin/su", ["/bin/su", "-p", "root", "gmplayer", "\"a", "b\""], [/* 14 vars */]) = 0
execve("/bin/bash", ["bash", "-c", "gmplayer \"a b\""], [/* 14 vars */]) = 0
execve("gmplayer", ["gmplayer", "a b"], [/* 14 vars */]) = 0

Du siehst hier kein su? Und auch nicht die schulbuchmässige Reduktion
des Problems anhand meines Beispiels?

> Es ist schlechter Stil, sich einen Kontext zu konstruieren, der zu der
> eigenen Behauptung passt, den umständlich zu beweisen und so zu tun,
> als wäre es schon immer irgendwie darum gegangen.

Jetzt wirst du albern. Nicht ich sondern du hängst dich an einem Kontext
auf der

* erstens nicht meine originale Aussage war, die wir eigentlich
  diskutierten
* ein Beispiel enthält, das ich widerrufen und korrigiert habe.

Wer hier die Dinge dreht ist glaub ich offensichtlich.

> Nochmal ganz langsam: falls du auf eine Antwort Wert legst, geh doch
> bitte darauf ein, wie deiner Ansicht nach der Aufruf in der Shell:
> 
> | dchroot -c ia32 -d gmplayer "\"$@\""
> 
> zu Folgendem expandieren soll (obiges auf den Knackpunkt abgekürzt):
> 
> |  argv[0] -> dchroot
> |  [..]
> |  argv[5] -> "alle Parameter" ($@ expandiert)
> 
> denn "$@" expandiert halt nicht zu "alle Parameter", wie du hier
> schriebst, sondern zu 0..n Parametern.  Obiges ist schlichtweg falsch.
> Da ist kein Spielraum, etwas reinzudeuteln, also lass es.

Nochmal ganz langsam: die Aussage war

> Hmm? Alle Parameter werden in der jetzigen Version an gmplayer als
> ein Parameter übergeben (in argv[1] resp $1, je nach Philosophie).

und deine Antwort

>> Hmm? Alle Parameter werden in der jetzigen Version an gmplayer als
>> ein Parameter übergeben (in argv[1] resp $1, je nach Philosophie).
>Nö. Da steht  "\"$@\"".

wie hier zu lesen:
http://lists.debian.org/debian-user-german/2005/03/msg00418.html

Dieses 'nö' ist falsch, wie im Detail gezeigt. Bitte degradiere dies nicht
zu einer Kindergartendiskussion. Danke.





Reply to: