如何在我的桌面上使用EFS保护本地SVN存储库?

时间:2013-01-13 07:47:36

标签: svn encryption

我在桌面上使用本地svn repo。当我在存储库文件夹上手动启用EFS时,SVN无法访问它。但是,当我没有登录时,我希望对存储库进行加密。任何想法和建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

当我遇到类似的问题时,我使用vbscript在注销期间加密文件夹并在登录期间解密它。如果您使用的是Windows,则可以使用以下vbscript。在两个单独的文件中创建两个脚本。

'Encrypt.vbs
Dim strDir, objShell, FSO, WshShell
strDir = "D:\Repositories"
Set objShell = CreateObject("Shell.Application")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
retval = WshShell.Run("CIPHER /E /S:" & strDir, 0, True)
MsgBox("Success")

'Decrypt.vbs
Dim strDir, objShell, FSO, WshShell
strDir = "D:\Repositories"
Set objShell = CreateObject("Shell.Application")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
retval = WshShell.Run("CIPHER /D /S:" & strDir, 0, True)    
MsgBox("Success")  
  1. 执行运行命令“gpedit.msc”
  2. 在左侧窗格中,选择“本地计算机策略”用户配置| Windows设置|脚本(登录/注销)
  3. 在右侧窗格中双击“登录”
  4. 在登录属性对话框中单击“显示文件...”按钮
  5. 位置“C:\ Windows \ System32 \ GroupPolicy \ User \ Scripts \ Logon”打开
  6. 将Decrypt.vbs复制到此位置
  7. 同样将Encrypt.vbs复制到“C:\ Windows \ System32 \ GroupPolicy \ User \ Scripts \ Logoff”
  8. 在“登录属性”对话框中,单击“添加”按钮并选择“Decrypt.vbs”
  9. 同样在Logoff Properties对话框中,单击Add按钮并选择Encrypt.vbs
  10. 执行运行命令“gpupdate”并等待策略更新
  11. 注销并以其他用户身份登录,并通过尝试读取任何人类可读文件(例如readme.txt)来验证Repositories文件夹是否已加密。
  12. 现在每次登录存储库都会被解密并可供SVN访问,当您注销时,存储库中的存储库仍然是加密的。