获取 apache 上传的群组和权限

获取 apache 上传的群组和权限

我确实已经为这一切工作了很长时间,但有些事情变得一团糟,我陷入了困境。

所以我允许上传到网站。在文件上传之前,使用 PHP 中的 mkdir 创建一个文件夹。然后使用 PHP 中的 ssh2 发送文件。不要问为什么,这就是现在的情况,而且目前很难改变。

因此,为了让 ssh2 上传文件,我必须将 ssh2 用户组设置为新目录的所有者。但是当我使用 mkdir 创建文件夹时,会将 apache 设置为文件夹的组所有者,因此文件无法上传。

即使我将 ssh2 用户设置为父目录的所有者,PHP 的新文件夹的所有者仍然是 apache。

因此,我需要的是,即使我使用 mkdir,ssh2 用户也始终是该目录中创建的文件夹的所有者。

或者允许 ssh2 用户上传到使用 mkdir 创建的文件夹,我曾尝试使用 acl 但没有什么区别:

setfacl -R -m u:ssh2user :rw /home/uploads

mkdir 文件夹被设置为具有 775 权限,因此我实际上应该能够将 ssh2 用户添加到一个组,并确保新创建的文件夹是与该组一起完成的,我尝试使用 chmod g+s / 执行此操作,但新的 mkdir 文件夹仍然是 apache 拥有的组。

因此,我一直无法使用 mkdir 创建文件夹或使用 ssh2 添加文件,但无法同时完成这两项操作!

编辑:

因此我使用了 chmod -R g+s /home/uploads 并且按照我的需要设置了新文件夹组,但是 ssh2 仍然不被允许将文件移动到那里,尽管该文件位于目录所属的组中。

相关内容