2013-10-14 99 views
0

我想在版本控制中存儲密碼存儲庫數據庫(Keepass)。原因是 - 這確保了自動備份,集中位置,並消除了在網絡共享驅動器中存儲文件的所有不一致之處。SVN - 僅查看最新版本並隱藏以前版本

但是,通過這樣做,我失去了更改密碼數據庫主密碼的能力作爲新pwd數據庫的密碼,只會受到最新版本的影響,任何擁有以前密碼的人都可以繼續使用此數據庫的以前版本,並獲得大部分仍然有效的其他密碼。

那麼,有沒有一種方法可以阻止其他人閱讀以前的版本?換句話說,只有最新版本的文件應該可見(或)可讀取/結帳等。

回答

0

SVN等版本控制系統的主要目的之一是提供對單個文件的所有以前版本(修訂版)的訪問。

如果您希望用戶僅查看文件的最新版本,但仍然想使用svn來對數據庫進行版本化,則需要將svn從用戶中抽象出來,並確保他們無法訪問svn工作副本和/或數據庫。

您可以使用網絡共享驅動器來提供該文件,但仍然是svn中的文件/目錄的版本。但是,您的用戶無權訪問.svn目錄。

另一個想法是提供密碼文件的包裝。操作系統定期調用的一些deamon /腳本會更新其內部數據庫,然後將數據庫文件複製到某個位置。您必須確保您的用戶無權訪問此腳本和存儲庫,從而無法檢查腳本。

2

顛覆是完全錯誤的方式去做你想要做的事情。理由:

  1. 顛覆不是備份!
  2. Subversion不是備份系統!
  3. 沒有與KeePass的
  4. "centralizing" your storage其他方法你將不得不將突然出現時,人們不得不合並不同組對數據庫的修改和回庫等不一致的問題。

查看this SO post的答案,瞭解如何更好地處理此問題。