在NTFS根文件夹中创建文件


2

介绍: 我正尝试(并且部分成功)用Windows Server 2008 R2中的已安装VHD替换大量文件夹,以尝试使用bind-或loop-mounts模拟UNIX'bahaviour。事实证明,这可以减少由于大文件和小文件的混合以及偶尔和不可预测的重写而导致的与极端碎片相关的许多问题。 (第三方应用程序正在按照自己的意愿行事,我没有权力阻止它。)它还可以以合理的方式进行快照而无需复制所有内容。

应用程序中断所有内容后,图像显然会根据需要重新生成。 (cp -aT oldmount newmount)

问题: 如果VHD映像包含NTFS文件系统,则Windows需要管理员权限才能在文件系统根目录中创建文件(但不包含文件夹)。这会在尝试制作此类文件时中断应用。 (不,不能在图层中将图像根目录放在一个文件夹中)。到目前为止,我已经通过使用vFAT文件系统解决了这个问题,这些文件系统没有进行任何perm检查,但是拥有一些NTFS功能(如稀疏文件和每个文件压缩)会非常好。

我试过摆弄我能想到的烫发,但据我所知,“完全控制”并不需要创建文件。

TL; DR: 如何让Windows Server 2008 R2允许用户在已安装的NTFS文件系统的顶级目录中创建和写入文件?

加成: 该应用程序以我的普通用户ttbomk运行。我给了我的“Everyone”和我的用户“完全控制”权限,并将我的用户设置为挂载点的所有者(挂载的根文件夹)。我可以创建文件夹并编辑现有文件而没有任何问题,但是在创建文件(右键单击,新文本文档)时,我会收到标题为“目标文件夹访问被拒绝”的UAC确认对话框,文本“您需要确认此操作。 ; [mount的名称(不是路径)];创建的日期:[mount的创建日期]“以及Continue,Skip或Cancel的选项。像这样手动创建文件时,这只是一个烦恼。当需要不成文的数据时,应用程序失败了,默默地停留了一段时间然后很棒。


完全控制=写入文件。也许你应该更具体。您分配了哪些帐户权限?这个应用程序运行什么上下文?你得到的确切错误是什么?
surfasb

Answers:


0

让我把你正在做的事情包括在内:

您可以创建VHD文件并将它们安装到系统上的空文件夹中。问题是应用程序尝试写入已挂载的VHD文件的根目录 - 该文件失败。

通常,您应该能够修改VHD文件中NTFS文件结构的权限。可能是Windows资源管理器有一个问题,以区分您已装入VHD的空文件夹的NTFS权限和VHD内NTFS根条目的权限。

我建议将VHD挂载为驱动器(仅用于测试)并验证VHD内的权限是否正确。在未安装VHD时,还要检查空文件夹的NTFS权限。


1
谢谢,但没关系,明白了。事实证明,“磁盘管理”UI中提供了“分区”的权限。我/您需要在分区和挂载点上使用“写入”权限才能在根文件夹装载上创建文件。另外,我不允许回答我自己的问题,所以我只是在这里写的。 =(
Eroen

1
@Eroen:我们可以通过降旗主持人改变这一点。
surfasb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.