ID:               49827
 User updated by:  bill dot mcclendon at digiconllc dot com
 Reported By:      bill dot mcclendon at digiconllc dot com
 Status:           Bogus
 Bug Type:         Unknown/Other Function
 Operating System: Linux RH
 PHP Version:      5.2.11
 New Comment:

No, the "ls" program was not executed successfully.  Only when the
target was "/tmp" or "/usr".  Any and all other paths - including
sub-directorties under "/usr" - failed with a permission violation.

I found the root cause and solved the issue.  You can close this bug
report.

You may want to add a note/description of this issue so others are not
so trapped.

The root cause was "SELinux". It had been enabled and set to "enforced"
and this prevented anything from running that was not in the vary basic,
very SMALL list of commands configured for the default SELinux
delivery.

The system administrators were unaware of SELinux and had no knowledge
of it being configured - or even what it was.

Bill


Previous Comments:
------------------------------------------------------------------------

[2009-10-14 17:05:16] sjo...@php.net

Thank you for your feedback.

The behavior you report is not a bug in PHP. The 'ls' program is
executed succesfully and it gives the 'Permission denied' error, not
PHP.

The home directory may be mounted over NFS or there may be some other
reason why there are additional access restrictions. 

------------------------------------------------------------------------

[2009-10-13 18:37:09] bill dot mcclendon at digiconllc dot com

PHP bug reporting/support.

1) No ACL's (you think I didn't check this already?)
2) You mean grave accent? Yes - same error (I checked that already
too).

It's not running in a VM either.

Bill

------------------------------------------------------------------------

[2009-10-10 12:02:17] sjo...@php.net

Thank you for your bug report.

Does your installation have other access control than UNIX permissions,
such as ACL? Can you succesfully execute 'ls /home' from the command
line, or using backticks in PHP?

------------------------------------------------------------------------

[2009-10-09 22:49:50] bill dot mcclendon at digiconllc dot com

Corrected email address (your form seems to have a problem)

------------------------------------------------------------------------

[2009-10-09 22:48:30] bill dot mcclendon at digiconllc dot com

Description:
------------
Running Apache 2.x and PHP 5.2

safe_mode = off

test case - using "<?php $cmd = 'ls /home'; shell_exec($cmd); ?>"
produces the error "ls: /home Permission denied"
using "<?php $cmd = 'ls /usr'; shell_exec($cmd); ?>" succeeds

(check the Apache error_log for errors)

However, both "/home" and "/usr" have the EXACT same permission and
ownership.

and Apache is running with "User owner" where "owner" is the owner of
the contents of "/home".  

Listing of both paths:

  8 drwxr-xr-x   15 root   root    4096 Jun 24  2005 usr
  8 drwxr-xr-x    5 root   root    4096 Jan  8  2007 home

Shell is "/bin/bash" and it looks like:

764 -rwxr-xr-x  1 root root 772760 Dec  6  2004 /bin/bash


Any ideas?

Reproduce code:
---------------
Test cases:
FAIL:

<?php
$cmd = 'ls /home';
echo "<pre>".shell_exec($cmd)."</pre>";
?>

SUCCESS:
<?php
$cmd = 'ls /usr';
echo "<pre>".shell_exec($cmd)."</pre>";
?>

Expected result:
----------------
Listing of files:

SUCCESS result:

bin
etc
games
include
kerberos
lib
lib64
libexec
local
sbin
share
src
tmp
X11R6


Actual result:
--------------
For FAIL above (no results).


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=49827&edit=1

Reply via email to