通过Web服务器上传不能被FTP用户读取

我有一个www用户下运行的Web服务器。

我也有一个也属于wheel组的ftp用户。

问题是,无论通过web服务器上传的http文件是否在www用户下运行,该文件的所有者无法读取该文件的主文件夹。

我应该做些什么改变来克服呢?

如果您正在运行支持ACL的系统,则可以使用以下命令来默认允许用户访问其主目录中的所有文件。 我认为这会比移动团体更好:
setfacl -d -R -m user:ftpuser:rwx /home/ftpusers_home
setfacl -R -m user:ftpuser:rwx /home/ftpusers_home

然后,他们应该能够读取,写入或执行其主目录中的任何文件。 如果第一个命令失败,出现“不良使用”或类似命令,则可能需要先运行这个命令:
mount -o remount,acl /mount_point其中mount_point是FTP用户的主目录所在的分区。如果你需要这样做的话,你还必须编辑你的/ etc / fstab文件以便在重新启动的时候保存更改,让我们知道你是否需要帮助。

只属于同一个群体(我将会慷慨地承担,而不是轮子,因为那会很糟糕)是不够的。

例如,如果Web服务器创build的文件的权限设置为“600”,那么正确组中的ftp-user将不会提供帮助,因为该组无权读取该文件。

即使烫发数量足以让小组成员阅读文件,也需要确保正确的组正在设置。 如果www-data的主要组是www-data,那么该文件将最初创build,并将该组设置为www-data。 您需要确保在ftp用户可以读取文件之前将其分享到共享组。

一种方法是设置Web服务器将文件保存到共享组的文件夹组。 在文件夹内创build的文件应该将其组设置为共享组,而不是www-data的默认组。

我喜欢acl的想法,但是如果你不能这样做的话,总是有一种强制方法来设置一个每隔几分钟运行一次的cronjob(可能由root运行),并根据需要设置目录中文件的权限。 丑,但它的作品。