谁拥有php exec tar提取文件?

时间:2010-04-12 16:49:25

标签: php linux exec file-permissions

就文件权限而言,当您使用php脚本解压缩tar文件时,谁是创建文件的“所有者”用户?

我想知道我的ftp用户是否因为我上传了脚本文件?或者apache拥有该文件?我知道他们的标志是为了保留我不想要的原始权限(由其他人创建和存档的文件)。我希望我的用户成为文件的创建者/所有者。

PS它是一个云环境。 以下是我上传的代码。我通过在浏览器中访问该页面来执行。我可以在Dreamweaver中更改文件权限......这是否意味着我是所有者?

exec('wget http://wordpress.org/latest.tar.gz'); exec('tar -xzvf latest.tar.gz');

3 个答案:

答案 0 :(得分:5)

最有可能的是,如果从apache运行,则表示apache正在运行的用户。

答案 1 :(得分:3)

无论用户运行PHP。它是Web服务器的系统用户名,或webroot的所有者(通过suexec)。如果由服务器拥有,则可能是nobodywww-data

最重要的是用户 PHP (服务器端)正在运行。 Try this找出来。

答案 2 :(得分:1)

你可以做echo shell_exec('whoami'); 这将输出用户的名称。对我来说,它输出apache

是的,apache将拥有这些文件。例如,如果您以root身份执行此类操作:

root@localhost# cp /home/user/foo /home/user/foo2
root@localhost# ls -l /home/user
-rw-rw-r--  1 user user       232 Apr  12 12:00 foo
-rw-rw-r--  1 root root       232 Apr  12 12:01 foo2