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

Re: Chroot Skriptausführung Ebene



On Fri, 2005-03-04 at 02:13 +0100, Bruno Hertz wrote:
> On Fri, 2005-03-04 at 00:42 +0100, Heike C. Zimmerer wrote:
> 
> > Nö. Da steht  "\"$@\"".
> 
> dchroot -c ia32 -d gmplayer "\"$@\""
> 
> Für dchroot:
> 
>  argv[0] -> dchroot
>  argv[1] -> -c
>  argv[2] -> ia32
>  argv[3] -> -d
>  argv[4] -> gmplayer
>  argv[5] -> "alle Parameter" ($@ expandiert)

Hüstel, verkehrter Testfall. Korrektur: das Script script.sh enthalte
 dchroot -c ia32 -d gmplayer "\"$@\""

und ich rufe 'script.sh a b' auf. Dann hätten wir

Für dchroot:

 argv[0] -> dchroot
 argv[1] -> -c
 argv[2] -> ia32
 argv[3] -> -d
 argv[4] -> gmplayer
 argv[5] -> "a
 argv[6] -> b"

denn/und strace gibt

 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

und die letzte Zeile ist die relevante. Die eckigen Klammern bezeichnen den argv
Vektor, und hier ist argv[0]=="gmplayer" und argv[1]=="a b". Oder?





Reply to: