我会尽力解释我是如何设置这个系统的。
想象一下,生产服务器运行WHM与各种站点。我们将这些网站称为... site1,site2,site2
现在,通过WHM设置,每个站点都有为其定义的用户/组,我们将这些用户/组称为site1,site2,原因很简单。
现在,使用SVN更新这些站点,并通过使用post commit脚本自动更新这些站点(通过apache配置阻止.svn)。
这些网站有两个常规维护者,我们称之为Joe和Bob。 Joe和Bob都通过相应的有限帐户对服务器进行命令行访问。
所以我已经完成了这个简单的操作,设法让SVN与这些“维护者”一起工作,这样当SVN提交发生时,更改会被检出并完美地运行。
这是一个问题,最终是我的问题。用户权限。
通过我对此设置的测试,我只是通过提供777的更新权限来设法使其工作,以便Joe和Bob可以读取和写入每个站点的Webfront目录的访问权限。 / p>
所以,现在如何设置它的一个例子:
Joe和Bob都属于一个名为“Dev”的组。我有master / svn文件夹设置为对该组的读写访问,并且它工作得很好。发布提交触发器,更新站点,然后在Webfront中的每个文件上设置777。
然后我改变了这一点,尝试考虑组权限更新,而不是直接777。
/ home / site1 / public_html中的每个文件夹最初获得一个664的chmod,每个文件夹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会抛出操作错误。
现在这已经足够长,以便对我正在努力实现的目标进行概述,只是因为我正在考虑这个屁股,并且有一个更容易解决的问题。这是我的目标
我希望这是有道理的,并提前感谢:)
答案 0 :(得分:0)
尝试:
$ chown -R site1:site1 /home/site1
这将以递归方式更改该目录中的所有文件,使其成为“site1”组中“site1”用户所拥有。