更新:原来问题比我最初想象的要复杂。我同时试图解决我mkdir
停止工作的原因,这是因为我手动更改了父目录的权限以进行测试,然后将它们切换回并添加chmod
到脚本中,该脚本不起作用,因为该脚本是由apache
而不是我自己运行的. 我将发布一个更大问题的新问题,因为我认为将所有这些添加到这个问题中会变得混乱。
我是我大学的一名实验室讲师,我一直在重写他们提供的用于上传作业的脚本,因为他们拥有的脚本又旧又漏洞百出。我没有修改现有脚本(用 python 编写),而是用 php 从头开始编写它。
我遇到了一个问题,似乎 chown 不起作用。php 脚本在用户下运行apache
。我不确定该用户是否“特权”,但原始脚本使用了 chown。
我可以假设因此apache
应该具有所需的权限,并且我的问题出在其他地方还是逻辑错误?
服务器是大学的,他们不可能让我进行任何配置更改。我确实相信他们正在运行的是 CentOS。没有错误消息我只是注意到我可以chmod
文件并更改权限,但chown
下一行的命令似乎没有效果。
ls -al
在旧脚本上显示:
-rwxr-xr-x 1 mattw labstaff 5067 Sep 1 17:52 File_Upload.cgi
看起来 setuid 位没有打开。
Stefan 提到“用户 apache 很可能没有足够的权限来更改它不拥有的文件/文件夹”。我试图创建的目录chown
只是用 a 创建的,mkdir
所以它应该归 apache 所有。当您已经拥有该文件时,应该chown
不管特权如何工作吗?