希望你好。我在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
为什么会这样?有人可以帮我解决这个问题吗?我正在焦急地等待快速反应。
答案 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
玩得开心!!