nginx和文件权限

我在Debian Lenny上运行nginx。 我有很多人,他们都在他们的家庭文件夹中有“http”目录,我有nginx虚拟主机configuration为这些。

问题是:我如何使它只有用户和nginx可以读取用户的主目录内的文件?

这有不同的select,但是一个选项是在http文件夹中创build权限,这样group只能读取,而group是用户的组(即kbrandt)。 然后,只需将nginx添加到kbrandt组。 这条路线的缺点是,如果用户的组可以访问其他东西,nginx用户理论上可以读取它,如果该目录/虚拟主机是“破”。

  1. 确保“http”目录权限至less为“1750”。

  2. 所有权应该像“用户名:nginx”,recursion地从“http”目录开始。

  3. 只需安装OnDir http://swapoff.org/ondir.html并正确configuration即可。 你也可以把它和一个简单的BASH脚本结合起来,通过cronjob执行它。 作为启动脚本的一个例子,您可以使用下面的几行来为自己的需要进行开发。

chmod 1750 / home / username / http
find / home / username / http -type d -exec chmod 1750'{}'';'
find / home / username / http -type f -exec chmod $ PERMFILE'{}'';'
chown -R用户名:nginx / home / username / http