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: