什么用户应该在Ubuntu 9.04服务器上拥有/ var / www?

我已经在Ubuntu 9.04服务器上安装了LAMP,默认安装的root:root拥有/ var / www文件夹。 当另一个服务Hudson无法写入该目录时,我发现了这一点。 我希望我的哈德森用户有权写入/ var / www。 因此,如果www-data用户是/ var / www的所有者,而hudson是www-data组的成员,还是应该使用默认的用户和组,并使hudson成为root的成员? 后者似乎是错误的。 因此,提出了这个问题,用户应该拥有/ var / www? (对于那些比我有更多经验的人,鉴于这种情况,有没有什么比我见过的两种解决scheme更好?

所以,www-data用户应该是/ var / www的所有者

为什么apache进程由www-data运行,但是由root拥有的/ var / www? 是否有一些风险使万维网数据拥有该文件夹并运行该过程?

您的Web服务器正在以www-data的forms运行。 如果apache能够写入/ var / www并且你configuration了错误的东西,或者你运行的是一个错误的web应用程序,或者apache本身有一个可利用的错误,那么互联网上的一个坏人就可以写东西给/ VAR / WWW。 只要有可能,您应该始终为服务帐户提供最less的操作权限。

有没有什么比我见过的两种解决scheme更好?

创build一个新组,并将/ var / www的所有权更改为root:group。 将需要发布到该文件夹​​的所有用户添加到该组。 您可能还想用setgid位标记该文件夹,并调整用户的umask,以便写入该文件夹的任何内容都可由该组中的其他人写入。