2013-01-13 29 views
2

我在桌面上使用本地svn回购。当我手动启用存储库文件夹中的EFS时,SVN无法访问它。不过,我希望在我未登录时加密存储库。任何想法和建议将不胜感激。如何在我的桌面上使用EFS来保护本地SVN信息库?

+1

这听起来像一个EFS配置问题,这不是在stackoverflow上的主题。开发环境问题是关于主题的,但这不太可能与SVN直接相关,SVN只需要一个可访问的文件系统。 –

回答

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中\用户\脚本\登录”开辟了
  6. 复制Decrypt.vbs到这个位置
  7. 同样复制到Encrypt.vbs “C:\ WINDOWS \ SYSTEM32 \ GroupPolicy中\用户\脚本\注销”
  8. 在登录属性对话框中,单击添加按钮并选择Decrypt.vbs
  9. 类似的注销属性对话框中,单击添加按钮并选择Encrypt.vbs
  10. 执行运行命令“运行gpupdate”,等待的策略进行更新
  11. 注销并登录以其他用户身份,并确认存储库文件夹是由试图加密阅读任何人类可读文件,readme.txt。
  12. 现在,每次登录存储库时都会对SVN进行解密和访问,并且在您注销时,存储库中的磁带库仍保持加密状态。
相关问题