更改通过ftp创build/上传的文件/目录的所有权自动和立即创build后

我想通过ftp上传/创build的文件/目录的用户和组所有权自动设置为我select的某个用户和组。 到目前为止,我认为这是不可能的(我在Ubuntu上使用vsftp)。 见解?

您可以在影响新创build的文件和目录的所有权的目录上使用粘性位。 并与umask结合,这将创build具有一定权限的新文件。

更新后的评论:

目录上的组粘贴位将覆盖此目录中新build文件的组所有权,而不pipe哪个组是创build此文件的用户。 乌玛斯克可以在创作时改变他们的立场。

这种组合的经典用法是当你有“公共”目录,每个用户可以创build/更新/删除每个文件。 因此,用户必须在同一组(“用户”)和组权限必须由“rw”文件和“rwx”目录。 在这种情况下,您将设置组的父目录粘滞位,并将组更改为“用户”。 然后你必须在系统中设置umask文件将被上传(FTP,桑巴,…)。 这个umask应该创build具有权限660的文件和具有权限2770的目录。

另一个用法 – FTP。 用户必须通过FTP完全访问文件,而Web服务器必须具有对一些文件的读取甚至写入访问权限。 在这种情况下,您将在该Web的文档根上设置组粘贴位,并将该组更改为www-data(对于Apache)。 将访问权限更改为640文件和2750目录。 对于www数据需要写入权限的目录,权限将是2770.在FTP服务器中,设置umask来创build具有权限的文件和目录。 结果? 上传的文件将拥有给定用户的所有者,组www数据和最less的必要权利。

我不确定你的用例到底是什么,但是更改所有者不应该是必须的,我个人喜欢知道谁创build了这个文件(所有者可以改变它,但是有多less用户知道怎么做?)