首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache文件夹权限

Apache文件夹权限
EN

Stack Overflow用户
提问于 2010-09-15 05:47:28
回答 2查看 2.1K关注 0票数 1

当我用PHP的mkdir()创建一个目录时,文件夹的‘owner’是'apache‘。当我通过FTP创建目录时,所有者是'ftpadmin‘。

出于某种奇怪的原因,使用PHP的rename()函数,我不能将任何文件移动到'apache‘拥有的目录中。我已经将文件和目录chmod()到了777和0777,但是'apache‘拒绝将任何文件移动到它创建的目录中。我可以让'apache‘将文件移动到'ftpadmin’目录中。我尝试过chmod()mkdir(),有777,0777,755,0755,1777,01777和更多。

目录需要由我的客户端动态生成,并且需要将文件移入和移出。

该服务器是一个专用虚拟服务器,我可以通过ssh进入该服务器,并对其拥有管理员权限。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-15 08:07:26

可能的安全模式功能- http://www.php.net/manual/en/features.safe-mode.functions.php

rename()检查正在操作的文件或目录是否与正在执行的脚本具有相同的UID (所有者)。检查运行脚本的目录是否与正在执行的脚本具有相同的UID (所有者)。

如果安全模式处于打开状态,请将其关闭,并在适当的级别上解决它提供的功能。如果这不是问题所在,那么显示php发出的实际错误无疑会对我们有很大帮助。

票数 1
EN

Stack Overflow用户

发布于 2010-09-15 05:51:27

PHP以Apache用户身份运行。您的FTP帐户正在以用户'fpadmin‘身份运行。这就是所有者不同的原因。你试过chown() php函数(http://php.net/manual/en/function.chown.php)吗?这将更改文件/目录的所有者。

干杯

我第一次投反对票。很刺痛..。尽管这是一个愚蠢的答案..

好的,所以我试着理解你的问题/重复你的错误。这是我尝试过的方法,这是我的结果。希望它至少能对你有所帮助。

我有以下目录结构:

代码语言:javascript
复制
/var/www/public_html/test (chmod = 777 via SSH, owned by 'ftpuser')
/var/www/public_html/test/index.php (chmod = 777 via SSH, owned by 'ftpuser')
/var/www/public_html/test/ftp_owned.file (chmod = 644 (default), owned by 'ftpuser')

然后,在index.php文件中,我有以下代码:

代码语言:javascript
复制
mkdir("./downvoted");
chmod("./downvoted", 0777);
$h = fopen("./i_am_so.sad", "x+");
fwrite($h, "attempting to redeem myself");
fclose($h);
rename("./i_am_so.sad", "./downvoted/i_am_so.sad");
rename("./ftp_owned.file", "./downvoted/ftp_owned.file");

产生一个新的目录结构:

代码语言:javascript
复制
/var/www/public_html/test (chmod = 777 via SSH, owned by 'ftpuser')
/var/www/public_html/test/index.php (chmod = 777 via SSH, owned by 'ftpuser')
/var/www/public_html/test/downvoted (chmod = 0777 via PHP, owned by 'apache')
/var/www/public_html/test/downvoted/i_am_so.sad (permissions = 644 (default), owned by 'apache')
/var/www/public_html/test/downvoted/ftp_owned.file (permissions = 644 (default), owned by 'ftpuser')

仍然很悲哀,因为我不能重现这个错误,也不能挽回我自己。希望您可以发布您收到的错误(权限被拒绝?)或者指出我的实验与您的应用程序有何不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3713169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档