新建文件夹权限权限问题
Posted
技术标签:
【中文标题】新建文件夹权限权限问题【英文标题】:Newly created folder permission rights issue 【发布时间】:2011-09-17 04:07:57 【问题描述】:希望你一切都好。我在 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
为什么会这样?有人可以帮我解决这个问题吗?我正在焦急地等待快速响应。
【问题讨论】:
【参考方案1】:首先,您应该调查您真正需要的权限 - 将所有内容更改为 777 存在安全风险,因为它允许任何用户在您的 Web 根目录中写入。
但是,为了解决用户创建新文件夹时默认权限的实际问题,您需要调整确定此类事情的默认“umask”。
这个问题有一些信息可以为 Apache 用户更改它(如果“网络用户”是通过 httpd 进程创建新文件和目录的用户):
Setting the umask of the Apache user
如果需要针对其他用户或进程进行调整,解决方法类似。
祝你好运!
编辑
既然你在 Fedora 上,试试这个:(来自我上面链接的问题)
[root ~]$ echo "umask 002" >> /etc/sysconfig/httpd [root ~]$ service httpd 重启第一个命令将该行添加到永久配置文件 /etc/sysconfig/httpd 中,第二个命令将使其激活。
【讨论】:
此外,我使用了默认设置为“0022”的“umask”,我在运行“umask 002”和使用“umask”检查时更改了它。它是“0002”,但是当系统重新启动时,umask 值会再次自动重置:(其次,我需要我的网络开发人员在 htdocs 中工作,我需要为他们所有人设置此权限。就像他们创建任何新文件夹然后他们必须拥有在他们的文件夹中执行任何操作的完全权限。关于安全性,一切都得到了照顾,我不会解决这个问题,只是为了解决这个问题。提前致谢。 您提供的 URL 中的另一件事是回答“Apache 从其父进程(即启动 Apache 的进程)继承其 umask;这通常应该是 /etc/init.d 脚本。所以放一个该脚本中的 umask 命令。”您能否详细说明我该如何设置? 如果没有其他人,我会回来更新答案,今天还没有时间。 @Baraboom:我真的认为你的命令会起作用,但徒劳无功。我做了同样的事情并检查了 httpd 文件,我可以看到 umask 002 写入但在运行命令 "/opt/lampp/lampp restart" 或重新启动我的 linux 机器后没有任何影响我想要的是。当我再次访问我的共享文件夹 htdocs 并创建任何文件夹时,它会赋予相同的权限 "drwxr-xr-x" :( -- 现在需要紧急帮助。 @Umer,尝试编辑 /etc/init.d/http 脚本 - 只需添加一行“umask 002”(不带引号)并尝试重新启动 apache 以查看是否可以解决问题。我已经用谷歌搜索了很长时间,但实际上没有人在脚本中指定放置它的位置,所以我会从顶部开始......如果这不起作用,请尝试将其移动到处理“开始”的脚本部分“ 命令。对不起,原来的答案不适合你。【参考方案2】:试试看:
#umask 000
玩得开心!!
【讨论】:
快速问题请教:如果我设置了“umask 000”,它将被执行,但你知道我需要重新启动机器以及系统是否会重新启动。 Umask 再次显示 022 :( 有什么想说的吗?【参考方案3】:您从错误的角度解决问题。恢复您的 apache 配置以使用 apache.apache 作为默认用户/组,并将您的 samba 服务器设置为在有人写入您的文档根目录时使用这些凭据。
如果您使用的是 nfs 或其他与 posix 兼容的文件系统,请使用 chmod g+s 让所有文件都可以从您的 apache 服务器读取。
【讨论】:
以上是关于新建文件夹权限权限问题的主要内容,如果未能解决你的问题,请参考以下文章
JumpServer堡垒机登入Ubuntu服务器新建文件夹提示无权限
Win11 PE下如何快速设置IP如何新建共享文件夹并设置为everyone完全控制权限