我用CMS进行目录管理,PHP的程序。CENTOS6.2的系统。网站根目录
/www.test.com  拥有者 root.rootPHP使用的用户是www在根目录下创建 新目录 /www.test.com/t1  权限0777
创建完成后 t1 拥有者为 www.www最后想在t1目录下再次创建目录t11 提示权限不够。
也就是说,PHP在目录拥有者www.www下创建目录权限不够。我使用www用户本地登录和FTP登录都可以正常创建目录,并且PHP并未运行在安全模式。求解。。

解决方案 »

  1.   

    www.test.com 得给其他组用户/群读写的权限.
      

  2.   

    那就怪异了,如果都是777的话 目录肯定有写的权限了.不过 CENTOS 对权限的限制是比较变态的,我基本没用过CENTOS,所以看看别人有没经验
      

  3.   

    php 是由 apache 调用的,而 apache 隶属于 nobody (匿名用户)由匿名用户创建同时具有写和执行权限的目录是相当危险的,因此系统将阻止这样做
    0777 实际只能创建 0555 这样的目录,没有了写权限,自然也就不能继续创建目录了
      

  4.   

    楼上老大说得对,我只补充一点细节。Linux (至少是 CentOS)在系统级有一个 umask 的概念,一般缺省是 0022,它的作用是当一个用户创建一个新的文件夹后,得到的缺省权限是“从 0777 中减掉 umask 的值”。鉴于楼主新建的文件夹 /www.test.com/t1 以 owner 身份仍然不能创建子文件夹,猜测你的系统中 umask 是 0222 ……解决这个问题最简单的办法就是在创建一个文件夹后,通过 chmod() 按需求设置一下权限(如果要建子文件夹,就要保证对于父文件夹具有 w 权限)
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)