如何从 Windows Server 更改磁盘上运行 XP 的文件保护?

如何从 Windows Server 更改磁盘上运行 XP 的文件保护?

我家里有一台运行 Windows Server 2003 的机器,还有我用于开发的台式机。服务器坏了,但由于我的台式机功能相当强大,我想我会将磁盘从文件服务器(没问题)移到我的 XP 机器上,以保留所有文件。磁盘恢复正常并显示所有文件。当我尝试处理某些文件时,我遇到了访问被拒绝的错误。当我在资源管理器中显示属性时,没有一个属性被标记为只读。当我查看目录的属性时,只读复选框没有被选中,但背景是绿色的(我认为这意味着目录中的文件混合使用)。当我单击复选框以清除它并单击应用时,磁盘会进行一些工作,一切看起来都很好。但是,我继续收到访问被拒绝的错误,文件仍然没有显示任何只读属性,目录属性在只读复选框上再次显示绿色背景。我确实选中了表示将更改应用于文件夹及其下的所有文件/子文件的复选框。

我假设该问题与从服务器安装中继承的用户 ID/权限有关。那么,为什么它让我认为我可以更改属性,而实际上却不能,我该如何纠正此问题,以便磁盘正确识别 XP 中的 ID?

答案1

我从来没能让 SubInACL 做我想做的事。我发现了一个出乎意料的简单解决方案。当我将文件复制到我在 XP 机器上格式化的另一个分区时,我的问题就消失了。我能够以任何我选择的方式处理文件,包括一些 SQL Server 数据和日志文件。我能够毫无问题地将数据库附加到 XP 机器上的 SQL Server 2005 实例。

我只能猜测,这些文件的文件所有权和权限与 XP 不了解的 ID 相关联,因此任何修改这些权限的尝试都必定会被阻止。我想知道 SubInACL 是否会重新分配,因为它无法识别被删除的人。

答案2

不幸的是,XP 上似乎没有有用的工具 takeown(我找不到)。你可以做的是获取子ACL工具并运行命令。

subinacl /子目录 X:\*.* /setowner=user
subinacl /子目录 X:\*.* /grant=user=F

将用户替换为您的用户名,并将 X:\ 替换为磁盘映射到的驱动器号。

显然,这样做需要您自担风险:)

答案3

您是否尝试过获取文件的所有权?您需要管理员权限。

从 WinXP 的资源管理器中,浏览到驱动器的根目录,右键单击文件夹或文件,选择“属性”。转到“安全”选项卡,单击“高级”。转到“所有者”选项卡。它应该显示项目的当前所有者,然后为您提供可以更改为的所有者列表。在选择框中选择您的用户 ID,选中“替换子容器和对象的所有者”复选框,然后单击“确定”。

您可以从命令行执行此操作cacls或其他命令。遗憾的是,WinXP 不包含takeown.exeVista 和 Win7 等命令。

相关内容