【发布时间】:2015-12-08 02:34:57
【问题描述】:
我想备份我的代码并能够随时从台式机、笔记本电脑或任何其他设备访问它。所以我决定添加一个提交后挂钩,将我的存储库简单转储到一个目录中,该目录在我的所有设备之间同步。
我做了一些测试,几乎在每个场景中我都尝试运行一个简单的
svnadmin 转储 c:\path\to\repo > c:\path\to\bkp
导致访问被拒绝。我能够创建转储的唯一方法是通过右键单击并以管理员身份运行命令提示符打开命令提示符,然后发出转储命令。
显然,我使用的标准帐户 (CallMeBob) 位于管理员组中。我还尝试将自己添加到由 VisualSVN 创建的所有 VisualSVN 组(并重新登录),但没有任何乐趣。
此外,我尝试运行以下内容:
runas /user:administrator svnadmin dump...
这 - 在要求管理员密码后 - 也会导致“访问被拒绝”。 (但即:runas /user:administrator cmd 工作正常。)
我也尝试将 svnadmin.exe 设置为以管理员身份运行,但同样没有乐趣。
存储库文件夹的安全权限如下:
- 管理员:完全控制
- CallMeBob:完全控制
- 系统:完全控制
- 网络服务(即运行 VSVN 服务器的帐户):除了完全控制之外的一切都勾选
- VisualSVN 服务器管理员:除了完全控制之外的一切都打勾
显然某处存在某种许可问题,但是在花费了一些时间之后,我仍然不明白在哪里......有什么想法吗?
编辑:
附加检查列表(根据 cmets):
- 在 CallMeBob 帐户上禁用 UAC
- 将网络服务用户添加到 VisualSVN 组(即:VisualSVN 复制合作伙伴、VisualSVN 存储库主管、VisualSVN 服务器管理员)
【问题讨论】:
-
您可以尝试暂时关闭 UAC 并重试吗?
-
不在我的办公桌前,但我相信您需要将网络服务用户添加到至少具有读取权限的 VisualSVN。我会尽快检查。
-
@zedfoxus:我也尝试过(只是忘了提)。但为了仔细检查,我刚刚在我的帐户 (CallMeBob) 上禁用了它,重新登录后仍然没有任何乐趣。
-
@JohnKuhns:刚刚将网络服务添加到所有三个 SVN 组(分别是:VisualSVN 复制合作伙伴、VisualSVN 存储库主管、VisualSVN 服务器管理员),没有变化。
-
好的,刚刚检查过了。我实际上在管理员组中添加了一个本地用户,并将 VisualSVN 服务设置为在该帐户下运行。我将 VisualSVN 设置为使用 Windows 身份验证。在脚本本身调用 svn 时,我在脚本中进一步提供了该帐户的用户名和密码。
标签: svn uac visualsvn-server svnadmin