【发布时间】:2010-03-15 23:57:32
【问题描述】:
我会尽力解释我是如何设置这个系统的。
想象一个运行 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,我更喜欢 SVN+SSH 的安全性。
- 不想通过 root 运行所有这些。
我希望这是有道理的,在此先感谢 :)
【问题讨论】:
-
应该迁移到ServerFault.com(恕我直言)