我在使用 CMS (Drupal) 上传文件时遇到了麻烦。当我设置更严格的文件权限时,我无法上传任何内容。然后我将上传目录和所有子文件夹的所有者更改为daemon
,一切正常。 到底是什么daemon
?这是 Apache 或 PHP 使用的用户吗?
daemon
作为上传目录中的文件夹和子文件夹的所有者使用是否安全?
答案1
Apache 通常不以 的身份运行daemon
,而 PHP 通常只是在 Apache 所运行的用户下运行。
这个名字daemon
听起来很通用,所以如果一个开发人员认为它适合默认用于某个守护进程,那么其他人认为它适合其他守护进程也就不足为奇了。
因此,有可能多个守护进程以该用户身份运行,其中任何一个守护进程的安全漏洞都可能打开,从而访问该daemon
用户被允许访问的任何资源。
分离越多越好,所以我会查找用户的配置位置并使用专用用户。这是我根据您问题中的信息给出的最佳安全建议。
您可以使用该ps
命令来找出以该用户身份运行的内容。
如果守护进程需要创建文件,它将需要对文件写入的目录具有写权限。但它不必是目录的所有者。相反,您可以让目录归属于守护进程root
,并让其组成为守护进程正在运行的组。然后,您可以授予该组的写权限。例如
chmod 1775 directory
该版本将允许组中的任何人在该目录中创建文件,但不能删除或重命名其他用户创建的文件。不在该组中的用户将有权读取该目录并访问其内容。