You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CGI脚本创建子目录时,为何所有者需将父目录设为777权限?

问题解答
  • 核心原因是CGI脚本的运行身份不是你本人:

    • 当通过Web请求触发CGI脚本时,脚本是由Web服务器(如Apache、nginx)以服务器专属用户身份执行的,常见用户为www-data或apache,而非你登录GCP实例时使用的所有者账号。
    • 父目录权限设为755时,权限分解为:所有者(你)拥有读/写/执行权限,同组用户拥有读/执行权限,其他用户仅拥有读/执行权限。而CGI进程的用户属于“其他用户”范畴,无写入权限,因此无法在父目录下创建子目录。
    • 当将父目录改为777时,“其他用户”获得了写入权限,CGI进程的用户才能成功执行mkdir $dir命令。
  • 更安全的替代方案(不建议使用777权限):

    • 将父目录的所属组改为Web服务器的用户组,例如chgrp www-data /path/to/parent-dir,再给组添加写入权限:chmod 775 /path/to/parent-dir。这样既保证CGI能创建目录,又避免给所有用户开放写入权限的安全风险。
    • 或者直接将父目录的所有者改为Web服务器用户:chown www-data /path/to/parent-dir,保持755权限即可。

内容的提问来源于stack exchange,提问作者Marcos Camargo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:12:03