多个目录中的相同Word文件,没有多个用户的管理权限

问题描述 投票:0回答:1

我在当前项目中遇到一个问题,多个用户需要访问多个目录中的数百个Word .docx文件。他们没有对其Windows 10计算机的任何管理权限,并且他们希望将版本控制连接到它,以提高安全性。

因此,我试图通过首先创建一个Git存储库来解决这个问题,我将文档存储在一个文件夹中。我用代码分别创建了一个bat文件,该文件下载并解压缩PortableGit,将所有文档克隆并下载到他们的计算机。但是这里的问题是我尝试使用Git克隆创建符号链接,这需要您以管理员身份执行bat(在这种情况下,最终用户无法做到)。然后,我尝试使用LibGit2Sharp创建一个C#.net Core 3 Windows应用程序,以便我可以执行该程序(因此,我认为),但最终还是抱怨符号链接的管理员权限。然后,我尝试使用硬链接,但我发现Word在保存最新更改并替换链接后替换了文件。

感觉就像我只是在绕圈旋转一个问题,这个问题应该不会太难解决?他们需要在不同文件夹中的同一文档上工作的原因是,由于存在法律上的管理模板,因此在不同上下文中它们需要完全相同。另外,在不同的上下文/目录中有不同的人。

tldr;我需要管理一个解决方案,在Windows 10环境中,无需管理员即可在多个不同目录中编辑.docx文件(将来可能是其他类型的文件)。还需要版本控制。

git ms-word symlink directory-structure hardlink
1个回答
1
投票

创建存储库时,如果启用了符号链接,则Git将尝试创建一个指向不存在文件的符号链接,以查看系统和文件系统是否支持符号链接。如果此操作失败,则可以,因为这仅表示系统无法执行该操作,这在Windows上是可以预期的。但是,如果确实失败,则Git将把符号链接检出为文件,因为没有其他方法可以表示它们。

libgit2做同样的事情,因为它必须与Git兼容。

您需要担心此操作失败的唯一原因是,您是否需要符号链接,这听起来像您一样。这个问题不仅限于Git。 Windows上的脚本和权限模型以及符号链接有问题。

Git将克隆到现有的空目录中,因此您可以让脚本以管理员身份运行,并为用户创建具有符号链接特权的目录,然后以用户身份进行克隆。如果您使用的是Windows 10,则可以在系统上启用开发人员模式;毕竟,使用符号链接,Unix系统已经运行了几十年。

当然,还有其他解决方案,包括不使用符号链接,而只是告诉人们在正确的目录中查找文件。您还可以将这些文件存储在一个以管理员身份创建了符号链接的远程系统上,并授予每个人对文件的远程访问权限,可以是一个共享存储库,也可以是每个用户一个(尽管共享存储库通常不是一个好主意) 。使用硬链接不是解决方案,因为Git不会保留或保留硬链接,因此您无法有效地一起使用它们。

最后,您可以将Windows子系统用于Linux,并将数据存储在DrvFS(模拟Linux)文件系统上,因为它允许所有用户使用符号链接。

© www.soinside.com 2019 - 2024. All rights reserved.