为什么我的php脚本在文件权限仅为读写时执行


Why my php-script executed when file permissions only read and write?

我的名字lebnik,以及关于我的信息:

# id lebnik
uid=1000(lebnik) gid=1000(lebnik) groups=1000(lebnik),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev)

我的web服务器Apache从用户www数据运行php脚本,请检查以下内容:

root@debian /etc/apache2 # grep -R "APACHE_RUN_USER=" .
./envvars:export APACHE_RUN_USER=www-data

关于用户www数据的信息:

# id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data)

我创建php脚本文件.php:

<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
echo 'script executed';
?>

接下来,我检查权限我的文件.php

# ls -la
total 16
drwxrwxrwx 1 www-data www-data 4096 Oct 18 00:49 .
drwxrwxr-x 1 www-data www-data 4096 Oct 18 00:36 ..
-rw-rw-r-- 1 www-data www-data  225 Oct 18 00:46 file.php

我试着用Apache调用我的脚本:curlhttp://starsite.l/file.php请参阅:

script executed

为什么我的php脚本在文件权限仅为读写时执行?

执行权限阻止shell执行文件,但不会阻止另一个应用程序读取文本文件并执行它。php引擎不关心可执行权限位。