我想知道是否可以使用 Git(或 Mercurial)来修订 KeePass 数据库文件并将其与我的同事共享,以实现集中(但分布式)密码管理,或者说这确实是个好主意/坏主意。存储库将位于我们的内部网络驱动器上,然后每个员工都可以使用共享的主密码打开文件并向其中添加新密码。
有人有这方面的经验吗?在工作场所使用 KeePass 进行集中密码管理的良好做法是什么,既没有“意外”删除密码的风险,又允许每个人添加新密码并访问现有密码?
答案1
使用修订控制系统可能会很好用,直到两个用户尝试同时编辑该文件。git 将不知道如何合并冲突,因此您只能选择一个混乱的版本。
但是,keepass 在 kdbx 文件中保留了一些内部修订历史记录,并且它支持将更改与文件的另一个(可能不同的)副本同步(查看文件菜单 -> 同步 -> 与文件/URL 同步)。我过去曾非常成功地使用过它在多台机器之间同步密码数据库的副本,而且效果很好。
也许最终的解决方案是将文件保存在 git 中,并调用 keepass 的同步器作为 git mergetool 来解决冲突。这一页提到了一些用于调用同步的脚本支持,因此确实可以做到这一点。