linux - 新建文件夹权限问题

标签 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

为什么会这样呢?有人可以帮我解决这个问题吗?我焦急地等待快速回复。

最佳答案

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

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

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

Setting the umask of the Apache user

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

祝你好运!

编辑

由于您使用的是 Fedora,请尝试以下操作:(来 self 上面链接的问题)

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

第一个命令将该行添加到/etc/sysconfig/httpd(这是一个永久配置文件)中,第二个命令将使其处于事件状态。

关于linux - 新建文件夹权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6385896/

相关文章:

linux - Sed 从文件底部开始搜索和追加

c - 使用 fork() 产生内存映射

Apache 是 "Unable to initialize module",因为更改 PHP 配置后模块和 PHP 的 API 不匹配

apache - 打开 RewriteEngine 会产生 403 错误——如何打开 FollowSymLinks?

django - 如何排除故障 - ImportError : Could not import settings 'mysite.settings' when deploying django?

java - _XReply() 使用 _XIOError() 终止应用程序

c++ - 与 BLDC Controller 通信时,串行读取 () 以错误号 11 终止

php - 使用 shell_exec 发送电子邮件失败

java - 请求 READ_PHONE_STATE 权限时应用程序因 IllegalStateException 崩溃

php - 制作权限系统的有效方法是什么?