【发布时间】:2011-08-22 15:06:10
【问题描述】:
我的所有代码库都存储在一个 subversion 存储库中,我分散在负载平衡的 Apache Web 服务器中,从而可以轻松地检查代码、运行更新以及无缝地将开发中的代码投入生产。
我确信有一个很容易解决的不便之处(除了在每次结帐时执行脚本),就是在使用 subversion 更新或签出的文件上设置(返回)Linux 权限。我们的安全团队将Owner和Group设置在httpd.conf文件中,documentRoot中的所有目录都获得700的权限,所有非可执行文件(例如*.php, *.smarty, *.png) 获得 600 的 Linux 权限,所有可执行文件获得 700(例如 *.sh、*.pl、*.py)。所有文件的所有者和组都必须设置为apache:apache,才能被 httpd 服务读取,因为只有文件所有者被设置为通过权限访问。
每次我运行svn update 或svn co 时,即使文件可能未创建(即svn update),我发现文件的所有权被设置为运行 svn 命令,通常情况下,文件权限被设置为不同于原来的权限(即更新前的 .htm 文件为 600,但在和svn update 之后,它被设置为 755,甚至第777章)。
绕过 subversion 更新文件权限和所有权的最简单方法是什么?在 svn 客户端或 Linux 服务器上可以做些什么来保留原始文件权限?我正在运行 RHEL5(现在在一些选定的实例上运行 6 个)。
【问题讨论】:
标签: linux svn file-permissions