2

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

4

1 回答 1

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. 同样在注销属性对话框中,单击添加按钮并选择 Encrypt.vbs
  10. 执行运行命令“gpupdate”,等待策略更新
  11. 注销并以其他用户身份登录,并通过尝试读取任何人类可读文件(例如 readme.txt)来验证存储库文件夹是否已加密。
  12. 现在,每次您登录存储库时,SVN 都可以对其进行解密和访问,并且当您注销时,存储库在磁盘上仍保持加密状态。
于 2013-01-14T04:00:55.507 回答