【发布时间】:2010-12-09 00:37:29
【问题描述】:
我们已经使用 subversion 对我们的软件项目进行版本控制已经有一段时间了。由于我们使用 python 开发,我最近开始使用 subversion 来部署站点的工作副本。当一个站点在 repo 中更新时,会在服务器上调用一个 post-commit 挂钩,并将更改推送到实时站点。
继续这一点,我看到其他人在他们的服务器配置脚本中使用版本控制。我们正在运行 Ubuntu 9.04,我可以想象拥有(例如)所有 /etc/ 版本的实用程序,这样如果我搞砸了 apache 配置,或者安装了一些可以处理某些现有配置的东西,我可以简单地从备份中恢复.
我的问题(和担忧)是,目前,我们所有的开发人员都可以访问我们所有的 subversion 存储库。如果我开始将敏感的系统配置放在那里,我认为限制访问是有意义的,但我不知道该怎么做。一旦我拥有了 repo 中的所有文件,我应该如何管理结帐和签入?在本地进行更改然后推送到服务器?修改服务器然后推送到repo?我们的颠覆服务器是不同的物理机,所以我不能使用本地文件签出。我应该如何处理安全性?无密码 SSH?
另外,在这种情况下,我还应该注意哪些其他安全问题?我知道很多信息都存储在 .svn 目录中,我是否会让我的服务器暴露在类似这样的东西上? subversion 本身是否足够安全,可以实现这一点?
另外,subversion 是否正确保存和恢复文件所有权和权限?
【问题讨论】:
标签: svn version-control ubuntu