On Fri, Nov 04, 2016 at 05:29:54PM +0000, Peter Fraser wrote:

> I actually wanted to call php's mail function which I could not get to work, I
> think I have tracked to problem down to exec not working
> the details follow using a test web page datetest.php
> 
> 
> 
> newweb:/var/www/htdocs/web # cat datetest.php
> cat datetest.php
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> 
> <HTML>
> <HEAD>
> <title>Date Test</title>
> </HEAD>
> <p>
>   <?php
>      ini_set('display_errors', 'On');
>      error_reporting(E_ALL | E_STRICT);
>      if(function_exists('exec')) {
>           echo "exec is enabled";
>      } else {
>           echo "exec is disabled";
>      }
>      echo '<br>Date Test<br>';
>      exec('/bin/date',$output);
>      print_r($output);
>      echo '<br>End Date test';
> ?>
> </p>
> </HTML>
> newweb:/var/www/htdocs/web # php-7.0 -f datetest.php
> php-7.0 -f datetest.php
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> 
> <HTML>
> <HEAD>
> <title>Date Test</title>
> </HEAD>
> <p>
>   exec is enabled<br>Date Test<br>Array
> (
>     [0] => Fri Nov  4 13:16:35 EDT 2016
> )
> <br>End Date test</p>
> </HTML>
> newweb:/var/www/htdocs/web # # date has been copied under /var/www/bin for
> testing
> # date has been copied under /var/www/bin
> newweb:/var/www/htdocs/web # ls -l /var/www/bin
> ls -l /var/www/bin
> total 4216
> ----------  1 root  bin     249392 Jul 26 14:48 bgpctl
> -rwxr-xr-x  1 root  daemon  119216 Nov  3 13:18 cat
> -r-xr-xr-x  1 root  daemon  140112 Nov  4 12:52 date
> -rwxr-xr-x  1 root  bin     271856 Jul 25 20:37 femail
> -rwxr-xr-x  1 root  daemon  470096 Nov  3 12:49 ksh
> -rwxr-xr-x  1 root  daemon    9816 Nov  3 12:51 logger
> -rwxrwxrwx  1 root  daemon      27 Nov  3 15:56 mailtest
> -rwxr-xr-x  1 root  bin     204240 Jul 26 14:48 ping
> ----------  1 root  bin     207920 Jul 26 14:48 ping6
> ----------  2 root  bin     179760 Jul 26 14:48 traceroute
> ----------  2 root  bin     179760 Jul 26 14:48 traceroute6
> newweb:/var/www/htdocs/web # chroot -u www /var/www /bin/date
> chroot -u www /var/www /bin/date
> Fri Nov  4 17:18:34 GMT 2016
> 
> I believe this shows that the php web page is correct and that 'date' does
> exist in the chroot,
> 
> but when I invoke web page from a browser I get.
> 
> exec is enabled
> Date Test
> Array ( )
> End Date test
> 
> What am I doing wrong.

For exec to work you also need /bin/sh

        -Otto

Reply via email to