0

我想在版本控制中存储一个密码存储库数据库(Keepass)。原因是 - 这确保了自动备份、集中位置并消除了将文件存储在网络共享驱动器等中的所有不一致。

但是,这样做,我将无法更改密码数据库的主密码,因为新密码数据库的密码只会在最新版本上受到影响,任何拥有以前密码的人仍然可以使用以前的版本并获取大多数其他仍然有效的密码。

那么,有没有办法阻止其他人阅读以前的版本?换句话说,只有最新版本的文件应该是可见的(或)可以读取/签出等?

4

2 回答 2

2

Subversion 是做你想做的事情的完全错误的方法。原因:

  1. 颠覆不是备份!
  2. Subversion 不是备份系统!
  3. Keepass还有其他“集中”存储的方法
  4. 当人们必须将不同的更改集合并到数据库并返回到存储库时,您将遇到其他不一致的问题。

查看此 SO 帖子的答案,了解如何更好地处理此问题。

于 2013-10-14T12:47:33.693 回答
0

SVN 等版本控制系统的主要目的之一是提供对单个文件的所有先前版本(修订)的访问。

如果您希望您的用户只看到文件的最后一个版本并且仍然想使用 svn 来对您的数据库进行版本控制,您需要从您的用户中抽象出 svn 并确保他们无法访问 svn 工作副本和/或数据库。

您可以使用网络共享驱动器来提供文件,但仍然在 svn 中对文件/目录进行版本控制。但是,您的用户不得访问该.svn目录。

另一个想法是为密码文件提供一个包装器。操作系统定期调用的某些守护程序/脚本会更新其内部数据库,然后将数据库文件复制到某个位置。您必须确保您的用户无权访问此脚本和存储库,因此无法检查该脚本。

于 2013-10-14T10:01:55.980 回答