在 Ubuntu 服务器上设置 fastcgi(套接字文件权限问题)

在 Ubuntu 服务器上设置 fastcgi(套接字文件权限问题)

我正在尝试在我的服务器上设置 mod_fcgid。部分要求是 Apache 需要为 mod_fcgid 创建一个套接字文件。

我指定了 Apache 将套接字数据写入的文件夹:

/var/run/apache2/fcgid

然后我在我的 fcgid.conf 文件中指定了此文件,如下所示:

SocketPath /var/run/apache2/fcgid/sock

然后,我将该文件夹的所有者更改为 www-data(apache 用户),并授予所有者对该文件夹及其内容的完全权限。

然后我就可以运行我的测试 fcgi 应用程序了。

当我重新启动机器时,我的 fastcgi 应用程序不再工作。经过一番调查,我发现 /var/run/apache2/fcgid 的所有权已重置为 root,权限已重置为 700

我有以下问题:

  • /var/run 文件夹有什么特别之处吗?
  • 为什么重启后权限会被重置?
  • 我是否应该将套接字文件移动到另一个位置(以防 root 出于安全原因自动拥有此文件夹中的内容?)

我正在运行 Ubuntu 10.0.4 LTS 64 位

答案1

/var/run 不是 Ubuntu 上的“真实”文件系统,而是 tmpfs(类似于“ramdisk”)。因此我认为在重启的情况下权限和文件不会保留,因为该文件系统只在重启之前存在。您可以使用另一个真实文件系统的位置,或者您可以修改一些启动脚本来创建和设置要使用的套接字的权限/所有权。mount在终端中发出命令,您将看到 /var/run 在 tmpfs 上。

相关内容