Stefan Klingner schreef:
> where i can find libexec? possibly a stupid question but locate only
> returns /usr/lib/php5/libexec and adding this to the chroot change nothing.
> i searched for the lib in debian package database. no result. ...
>
> r...@levana /lib> uname -a
> Linux levana 2.6.26-2-amd64 #1 SMP Fri Aug 14 07:12:04 UTC 2009 x86_64
> GNU/Linux
>   
ah, I assumed you were using FreeBSD when you said you were using 
jails.. I'm sorry.
Linux' dynamic linker is located in /lib/ld-linux.so.* which you also 
seem to be missing, so let's give that a try.
# cp /lib/ld-linux.so* /var/www/test/lib/
> r...@levana /lib> cat /etc/debian_version
> 5.0.3
> r...@levana /var/www/test> chroot /var/www/test /bin/sh
> chroot: cannot run command `/bin/sh': No such file or directory
> r...@levana /var/www/test> chroot /var/www/test /bin/bash
> chroot: cannot run command `/bin/bash': No such file or directory
> r...@levana /var/www/test> ls bin/bash
> bin/bash
> r...@levana /var/www/test> ls bin/sh
> bin/sh
>   
If copying in ld-linux.so does not fix it; would you please provide me 
the output of 'LD_LIBRARY_PATH=/var/www/test/lib:/var/www/test/usr/lib 
ldd /var/www/test/bin/sh' ?

-- Jille
>
>
> you are right. i am not able to login in 
>
> On Fri, 09 Oct 2009 13:10:26 +0200, Jille Timmermans <[email protected]>
> wrote:
>   
>> Stefan Klingner schreef:
>>     
>>> i am testing the chroot feature of peruser and i am not able to run any
>>> system tool when it is activated.
>>>
>>>   
>>>       
>>>> <?php
>>>>     ini_set('display_errors', 'On');
>>>>     error_reporting(E_ALL);
>>>>     $ret = shell_exec('echo x:$PATH:x');
>>>>     var_dump($ret);
>>>>     $ret = shell_exec('/bin/ls /');
>>>>     var_dump($ret);
>>>> ?>
>>>>     
>>>>         
>>> <Processor test>
>>>  User test
>>>  Group www
>>>  Chroot /var/www/test
>>> </Processor>
>>>
>>> RESULT: NULL NULL
>>>   
>>>       
>> That looks like PHP can't start a shell interpreter (/bin/sh) to execute
>>     
>
>   
>> the commands.
>>     
>>> <Processor test>
>>>  User test
>>>  Group www
>>>  #Chroot /var/www/test
>>> </Processor>
>>>
>>> RESULT: string(33) "x:/usr/local/bin:/usr/bin:/bin:x " string(130) "bin
>>> boot cdrom dev emul etc home initrd.img lib lib64 lost+found media mnt
>>> opt
>>> proc root sbin selinux srv sys tmp usr var vmlinuz " 
>>>
>>> JUST A TESTENV... :)
>>>
>>> jk_init -v -j /var/www/test basicshell editors extendedshell netutils
>>>       
> ssh
>   
>>> sftp scp
>>>
>>> r...@levana /> tree -L 2 /var/www/test
>>> /var/www/test
>>> |-- bin
>>> |   |-- bash
>>> |   |-- cat
>>> |   |-- chmod
>>> |   |-- cp
>>> |   |-- cpio
>>> |   |-- date
>>> |   |-- dd
>>> |   |-- echo
>>> |   |-- egrep
>>> |   |-- false
>>> |   |-- fgrep
>>> |   |-- grep
>>> |   |-- gunzip
>>> |   |-- gzip
>>> |   |-- ln
>>> |   |-- ls
>>> |   |-- mkdir
>>> |   |-- mktemp
>>> |   |-- more
>>> |   |-- mv
>>> |   |-- nano
>>> |   |-- pwd
>>> |   |-- rm
>>> |   |-- rmdir
>>> |   |-- sed
>>> |   |-- sh -> bash
>>> |   |-- sleep
>>> |   |-- sync
>>> |   |-- tar
>>> |   |-- touch
>>> |   |-- true
>>> |   |-- uncompress
>>> |   `-- zcat
>>> |-- dev
>>> |   |-- null
>>> |   |-- tty
>>> |   `-- urandom
>>> |-- etc
>>> |   |-- alternatives
>>> |   |-- bash.bashrc
>>> |   |-- group
>>> |   |-- host.conf
>>> |   |-- hosts
>>> |   |-- issue
>>> |   |-- ld.so.cache
>>> |   |-- ld.so.conf
>>> |   |-- motd -> /var/run/motd
>>> |   |-- nsswitch.conf
>>> |   |-- passwd
>>> |   |-- profile
>>> |   |-- protocols
>>> |   |-- resolv.conf
>>> |   |-- services
>>> |   |-- terminfo
>>> |   `-- vim
>>> |-- lib
>>> |   |-- libacl.so.1 -> libacl.so.1.1.0
>>> |   |-- libacl.so.1.1.0
>>> |   |-- libattr.so.1 -> libattr.so.1.1.0
>>> |   |-- libattr.so.1.1.0
>>> |   |-- libc-2.7.so
>>> |   |-- libc.so.6 -> libc-2.7.so
>>> |   |-- libcom_err.so.2 -> libcom_err.so.2.1
>>> |   |-- libcom_err.so.2.1
>>> |   |-- libcrypt-2.7.so
>>> |   |-- libcrypt.so.1 -> libcrypt-2.7.so
>>> |   |-- libdl-2.7.so
>>> |   |-- libdl.so.2 -> libdl-2.7.so
>>> |   |-- libkeyutils-1.2.so
>>> |   |-- libkeyutils.so.1 -> libkeyutils-1.2.so
>>> |   |-- libm-2.7.so
>>> |   |-- libm.so.6 -> libm-2.7.so
>>> |   |-- libncurses.so.5 -> libncurses.so.5.7
>>> |   |-- libncurses.so.5.7
>>> |   |-- libncursesw.so.5 -> libncursesw.so.5.7
>>> |   |-- libncursesw.so.5.7
>>> |   |-- libnsl-2.7.so
>>> |   |-- libnsl.so.1 -> libnsl-2.7.so
>>> |   |-- libnss_compat-2.7.so
>>> |   |-- libnss_compat.so.2 -> libnss_compat-2.7.so
>>> |   |-- libnss_dns-2.7.so
>>> |   |-- libnss_dns.so.2 -> libnss_dns-2.7.so
>>> |   |-- libnss_files-2.7.so
>>> |   |-- libnss_files.so.2 -> libnss_files-2.7.so
>>> |   |-- libnss_hesiod-2.7.so
>>> |   |-- libnss_hesiod.so.2 -> libnss_hesiod-2.7.so
>>> |   |-- libnss_nis-2.7.so
>>> |   |-- libnss_nis.so.2 -> libnss_nis-2.7.so
>>> |   |-- libnss_nisplus-2.7.so
>>> |   |-- libnss_nisplus.so.2 -> libnss_nisplus-2.7.so
>>> |   |-- libpthread-2.7.so
>>> |   |-- libpthread.so.0 -> libpthread-2.7.so
>>> |   |-- libresolv-2.7.so
>>> |   |-- libresolv.so.2 -> libresolv-2.7.so
>>> |   |-- librt-2.7.so
>>> |   |-- librt.so.1 -> librt-2.7.so
>>> |   |-- libselinux.so.1
>>> |   |-- libutil-2.7.so
>>> |   |-- libutil.so.1 -> libutil-2.7.so
>>> |   `-- terminfo
>>> |-- lib64 -> /lib
>>> |-- tmp
>>> |-- usr
>>> |   |-- bin
>>> |   |-- lib
>>> |   `-- share
>>> `-- var
>>>     |-- run
>>>     `-- www
>>>   
>>>       
>> You seem to miss /var/www/test/libexec/ which contains the dynamic 
>> linker (ld-elf.so.1).
>> What happens if you go into the chroot from your shell ?
>> # chroot /var/www/test /bin/sh
>>
>> I guess that won't work either.
>>     
>>> any idea? how to you create your chroot/jail? do you not need tools
>>>       
> like
>   
>>> unzip or tar...?
>>>   
>>>       
>> It is weird that jailkit does not install the ld-elf.so.1; but that's 
>> the best thing I can come up with.
>> You can try:
>> # cp -pr /libexec /var/www/test/libexec
>>
>> to copy it into the jail en retry your tests.
>>
>> -- Jille
>>     
>>> On Fri, 09 Oct 2009 11:30:56 +0200, Jille Timmermans <[email protected]>
>>> wrote:
>>>   
>>>       
>>>> Stefan Klingner schreef:
>>>>     
>>>>         
>>>>> hi @all,
>>>>>
>>>>> thanks for the answers.
>>>>>
>>>>> from phpinfo()...
>>>>>
>>>>> open_basedir = no value
>>>>> safe_mode = off
>>>>>
>>>>> result of passthru('echo $PATH'); -> NOTHING
>>>>>   
>>>>>       
>>>>>           
>>>> It is very unlikely that this will give no result at all.
>>>> Please try:
>>>> <?php
>>>>     ini_set('display_errors', 'On');
>>>>     error_reporting(E_ALL);
>>>>     $ret = shell_exec('echo x:$PATH:x');
>>>>     var_dump($ret);
>>>>     $ret = shell_exec('/bin/ls /');
>>>>     var_dump($ret);
>>>> ?>
>>>>
>>>> By the way: Are you testing chroot inside jails ? That sounds
>>>>     
>>>>         
>>> oversecured
>>>   
>>>       
>>>> ;)
>>>> Is there any interest in peruser-jail support ? If so I will take a
>>>>         
> look
>   
>>>>     
>>>>         
>>>   
>>>       
>>>> at it.
>>>>
>>>> -- Jille
>>>>     
>>>>         
>>>>> how do you have created your jails? which tools do you used? have
>>>>>       
>>>>>           
>>> someone
>>>   
>>>       
>>>>> experience with jailkit. it looks like a really powerfull tool and it
>>>>>       
>>>>>           
>>> is
>>>   
>>>       
>>>>> maintained very well.
>>>>>
>>>>> i used jailkit...
>>>>>
>>>>> jk_init -j /home/user basicshell
>>>>> jk_jailuser user
>>>>>
>>>>> please help me getting this stuff working because i want to write the
>>>>> chroot tutorial for peruser. :)
>>>>>
>>>>> On Thu, 08 Oct 2009 23:02:21 +0200, Leen Besselink
>>>>> <[email protected]>
>>>>> wrote:
>>>>>   
>>>>>       
>>>>>           
>>>>>> Jille Timmermans wrote:
>>>>>>     
>>>>>>         
>>>>>>             
>>>>>>> Stefan Klingner schreef:
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>>>>> i try to run a command like "ls /" from a php script inside a
>>>>>>>>                 
> jail.
>   
>>>>>>>>         
>>>>>>>>             
>>>>>>>>                 
>>>>> the 
>>>>>   
>>>>>       
>>>>>           
>>>>>>>> jail was created with jailkit and contain the tool + all required 
>>>>>>>> libaries. if i write exec("ls /"); in a php script, it returns
>>>>>>>>         
>>>>>>>>             
>>>>>>>>                 
>>>>> nothing. 
>>>>>   
>>>>>       
>>>>>           
>>>>>>>> have someone an idea? possibly the processor do not have the path
>>>>>>>>                 
> or
>   
>>>>>>>>         
>>>>>>>>             
>>>>>>>>                 
>>>>> do 
>>>>>   
>>>>>       
>>>>>           
>>>>>>>> not know how to find the executable?
>>>>>>>>
>>>>>>>>   
>>>>>>>>         
>>>>>>>>             
>>>>>>>>                 
>>>>>>> Would you please try:
>>>>>>>
>>>>>>> passthru('echo $PATH'); // output should contain /bin; if not: the
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>> shell
>>>>>   
>>>>>       
>>>>>           
>>>>>>> interpreter can not find 'ls'; and you have to specify it as
>>>>>>>           
>>>>>>>               
>>> '/bin/ls'.
>>>   
>>>       
>>>>>>> passthru('ls -l /bin/sh'); // might give info about executability
>>>>>>>
>>>>>>> And of course check whether safe-mode is off ;)
>>>>>>>
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>>> And possibly: open_basedir ?
>>>>>>
>>>>>>     
>>>>>>         
>>>>>>             
>>>>>>> -- Jille
>>>>>>> _______________________________________________
>>>>>>> Peruser mailing list
>>>>>>> [email protected]
>>>>>>> http://www.telana.com/mailman/listinfo/peruser
>>>>>>>
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>>> _______________________________________________
>>>>>> Peruser mailing list
>>>>>> [email protected]
>>>>>> http://www.telana.com/mailman/listinfo/peruser
>>>>>>     
>>>>>>         
>>>>>>             
>>>>> _______________________________________________
>>>>> Peruser mailing list
>>>>> [email protected]
>>>>> http://www.telana.com/mailman/listinfo/peruser
>>>>>   
>>>>>       
>>>>>           
>>>> _______________________________________________
>>>> Peruser mailing list
>>>> [email protected]
>>>> http://www.telana.com/mailman/listinfo/peruser
>>>>     
>>>>         
>>> _______________________________________________
>>> Peruser mailing list
>>> [email protected]
>>> http://www.telana.com/mailman/listinfo/peruser
>>>   
>>>       
>> _______________________________________________
>> Peruser mailing list
>> [email protected]
>> http://www.telana.com/mailman/listinfo/peruser
>>     
> _______________________________________________
> Peruser mailing list
> [email protected]
> http://www.telana.com/mailman/listinfo/peruser
>   
_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser

Reply via email to