新创建的文件夹权限问题

时间:2011-06-17 12:43:39

标签: linux apache permissions xampp fedora

希望你好。我在Fedora上安装了Xammp,并将opp/lampp/htdoc的所有者更改为root。为什么我这样做是因为每当有人通过共享创建新文件夹时,他们无权动态创建文件夹或文件或写入图像。然后我运行命令

chmod -R 777 /opt/lampp/htdocs

但是当系统重新启动时,我再次需要运行此命令。所以一次又一次地避免运行这个命令我在“opt / lampp / htdocs”上更改了所有者并运行

chmod -R 777 /opt/lampp/htdocs

现在,无论何时服务器重新启动,都不需要一次又一次地设置分配的权限。那已经解决了。

我有一个问题,旧目录可以用来写东西。但是,如果任何网络用户在htdocs下创建新目录,则需要更改该新目录的权限。

  • 以前创建的,可以使用这个目录运行脚本来创建文件

    drwxrwxrwx   2 root root     4096 2011-06-15 14:09 aaa
    
  • 新创建的,不能用于运行脚本来创建图像或编写任何内容

    drwxr-xr-x   2 root root     4096 2011-06-17 15:17 aaaa
    

drwxr-xr-x对于htdocs中每个新创建的文件夹,这个对我来说真的很烦人:(

只是为了让您知道我的htdocs用户和权利是:

 drwxrwxrwx 101 root root  4096 2011-06-17 15:17 htdocs

为什么会这样?有人可以帮我解决这个问题吗?我正在焦急地等待快速反应。

3 个答案:

答案 0 :(得分:3)

首先,您应该调查您真正需要的权限 - 将所有内容修改为777是一种安全风险,因为它允许任何用户在您的Web根目录内写入。

但是,要解决用户创建新文件夹时的默认权限的实际问题,您需要调整确定此类内容的默认“umask”。

这个问题有一些关于为Apache用户更改它的信息(如果“网络用户”是通过httpd进程创建新文件和目录的用户):

Setting the umask of the Apache user

如果您需要针对其他用户或流程进行调整,解决方案将类似。

祝你好运!

修改

因为你在使用Fedora,试试这个:(来自我上面链接的问题)

[root ~]$ echo "umask 002" >> /etc/sysconfig/httpd
[root ~]$ service httpd restart

第一个命令会将该行添加到/ etc / sysconfig / httpd这是一个永久配置文件,第二个命令会将其激活。

答案 1 :(得分:3)

您正在从错误的一方解决问题。恢复您的apache配置以使用apache.apache作为默认用户/组,并设置您的samba服务器以在有人写入您的文档根目录时使用这些凭据。

如果您使用的是nfs或其他兼容posix的文件系统,请使用chmod g + s保持所有文件都可从您的apache服务器读取。

答案 2 :(得分:0)

试一试:

#umask 000

玩得开心!!