2

デスクトップでローカルのsvnリポジトリを使用しています。リポジトリフォルダでEFSを手動で有効にすると、SVNはそれにアクセスできませんでした。ただし、ログインしていないときはリポジトリを暗号化したいと思います。アイデアや提案をいただければ幸いです。

4

1 に答える 1

1

同様の問題に直面したとき、vbscriptを使用して、ログオフ時にフォルダーを暗号化し、ログオン時に復号化しました。Windowsを使用している場合は、次のvbscriptを使用できます。2つの別々のファイルに両方のスクリプトを作成します。

'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 に答える