1

我会尽力解释我是如何尝试建立这个系统的。

想象一个运行 WHM 的生产服务器和不同的站点。我们将这些站点称为... site1、site2、site2

现在,通过 WHM 设置,每个站点都为它们定义了一个用户/组,为了简单起见,我们将这些用户/组称为 site1、site2。

现在,更新这些站点是使用 SVN 完成的,并通过使用提交后脚本来自动更新这些站点(通过 apache 配置阻止 .svn)。

这些网站有两个固定维护者,我们称他们为 Joe 和 Bob。Joe 和 Bob 都可以通过各自的受限帐户对服务器进行命令行访问。

所以我做了简单的一点,设法让 SVN 与这些“维护者”一起工作,这样当 SVN 提交发生时,更改就会被签出并完美运行。

这是警告,最终是我的问题。用户权限。

通过我对这个设置的测试,我只能通过授予正在更新的 777 权限来使其正常工作,这样 Joe 和 Bob 就可以对每个站点的 webfront 目录进行读写访问。

所以,现在是如何设置的一个例子:

Joe 和 Bob 都属于一个名为“Dev”的组。我为该组设置了主 /svn 文件夹以进行读写访问,并且效果很好。提交后触发,更新站点,然后在 webfront 中的每个文件上设置 777。

然后我将其更改为尝试并考虑组权限更新,而不是直接的 777。

/home/site1/public_html 中的每个文件夹最初的 chmod 为 664,每个文件夹为 775

看起来有点像这样

drwxrwxr-x .
drwxrwxr-x ..
drwxrwxr-x site1 site1 my_test_folder
-rw-rw-r-- site1 site1 my_test_file

所以 site1 是这些文件和文件夹的所有者和组所有者。因此,我随后将 site1 添加到 Joe 和 Bobs 辅助组,以便 SVN 更新将正确允许访问这些文件。

现在的问题就在这里。

当我希望将文件或文件夹添加到 /home/site1 时,比如说 Bobs_file,它看起来像这样

drwxrwxr-x .
drwxrwxr-x ..
drwxr-xr-x Bob   dev   bobs_folder
drwxrwxr-x site1 site1 my_test_folder
-rw-rw-r-- Bob   dev   bobs_file
-rw-rw-r-- site1 site1 my_test_file

我怎样才能得到它,以便使用 Bob 可用的一组用户权限来更改该文件的所有者和组所有者以反映“site1”“site1”。由于 Bob 属于 Dev 我可以使用 CHMOd 正确设置权限,但似乎 CHGRP 正在抛出操作错误。

现在,这已经足够冗长了,可以准确地概述我要完成的工作,以防万一我要解决这个问题,并且有一个更简单的解决方案。这是我的目标

  • 2人更新
  • 给定 WHM 的结构,指定多个用户帐户
  • 试图将文件和文件夹的主用户/组权限维护到原始用户帐户,而不是更新的帐户。
  • 我喜欢 SVN+SSH 的安全性,而不是 SVN。
  • 不想通过 root 运行所有这些。

我希望这是有道理的,并提前感谢:)

4

1 回答 1

0

尝试:

$ chown -R site1:site1 /home/site1

这将递归地将该目录中的所有文件更改为由“site1”组中的“site1”用户拥有。

于 2010-03-16T08:52:30.870 回答