Andrew Moore Asked: 2009-08-13 09:04:53 +0800 CST2009-08-13 09:04:53 +0800 CST 2009-08-13 09:04:53 +0800 CST 在磁盘范围内重置 NTFS 权限 772 有人主要在 NTFS 驱动器上设置权限时搞砸了,我正在寻找一种将所有权限重置为默认值的方法。操作系统将被重新安装,但我正在尝试从他们的用户目录中挽救数据。 没有任何数据在 FS 级别加密。 关于如何实现这一目标的任何建议? permissions access-control-list ntfs 5 个回答 Voted Best Answer Evan Anderson 2009-08-13T09:41:06+08:002009-08-13T09:41:06+08:00 如果您谈论的是不包含 Windows 安装的磁盘,只需使用“TAKEOWN”和“ICACLS”实用程序: TAKEOWN /f "X:\" /r /d y ICACLS "X:\" /reset /T 然后,您可以将 ACL 重置为您想要的任何内容。 如果它是一个安装了 Windows 2000、XP 或 Server 2003 操作系统的磁盘(不知道这个是 Vista),你可以尝试重新应用默认的安全模板: secedit /configure /db secedit.sdb /cfg %SystemRoot%\defltwk.inf /overwrite /verbose (在 Windows Server 安装中,将“defltsv.inf”替换为“defltwk.inf”。) Helge Klein 2011-01-15T00:34:28+08:002011-01-15T00:34:28+08:00 作为 takeown 和 *cacls 的替代方法,您可以使用 SetACL 首先获取驱动器上每个文件和目录的所有权,然后设置所需的权限。 将整个树的所有者设置为管理员并启用子对象的继承: SetACL.exe -on "C:\" -ot file -actn setprot -op "dacl:np;sacl:nc" -rec cont_obj -actn setowner -ownr "n:S-1-5-32-544;s:y" 为管理员添加完全权限: SetACL.exe -on "C:\" -ot file -actn ace -ace "n:S-1-5-32-544;s:y;p:full" Jeff Hengesbach 2009-08-13T09:28:03+08:002009-08-13T09:28:03+08:00 我不确定这样的事情是否存在。也就是说,除非您正在对系统进行映像,否则可以在不删除用户数据的情况下重新安装操作系统,这也将修复操作系统相关文件夹的权限。根据这是什么类型的系统以及可用的系统,将驱动器放入另一个系统并拉出用户数据,然后进行擦除并重新安装。 Bart Silverstrim 2009-08-13T09:40:48+08:002009-08-13T09:40:48+08:00 我从来没有听说过任何东西会将所有内容的权限“重置”回空白状态,除非“从备份恢复”很重要。 即使这样做了,它也需要一种方法来了解谁拥有哪些文件,以及注册表权限和其他 ID 信息。很有可能它会搞砸,并且你的系统会在随机时间表现得很奇怪,除非有问题的程序有一个关于机器第一次安装时的状态的快照......在这种情况下它是一样的作为备份。您可能会通过添加用户并首先在机器上安装操作系统来更改权限和 ID(安全 ID),因为 Windows 在 ACL 中有特定于安装的某些内容。 最好的办法是备份用户数据并擦除磁盘并重新安装,然后再将用户数据复制回正确的文件夹,然后制作系统的备份映像。 这是 RAID 无济于事的情况之一,但良好的备份可以(有许多新手管理员似乎认为 RAID 是一种备份;在这种情况下,它不会有帮助!) Maximus Minimus 2009-08-13T11:34:00+08:002009-08-13T11:34:00+08:00 我看不出有什么办法可以让事情恢复到只使用一个盒子的方式,但是如果你有第二个可用的盒子,可以作为替代品或临时暂存区(即使是具有大量高清的 PC 也可以temp staging),这是一种解决方案。您可能可以在这里采取捷径,但我更喜欢缓慢而细致的方式,因为它不太容易出现人为错误。 让我们假设服务器 A 是一个权限被搞砸的服务器,而服务器 B 要么是替换区,要么是临时暂存区。 从上次良好的备份还原到服务器 B(确保在执行此操作时选择了还原安全性的选项)。 在服务器 A 上,确定您是否可以访问数据。 如果没有,请通过 GUI 或命令行获取所有内容的所有权。 确定您现在是否可以访问数据。 如果没有,请授予自己完全控制权。 使用 xcopy /S/E/C/H/R/K/Y 将数据从服务器 A 复制到服务器 B。不要使用 /O,因为这会覆盖您恢复的 ACL。 如果它是一个替换服务器,你就完成了。如果没有,在重建服务器 A 后,从服务器 B 复制回它,这次使用 xcopy /S/E/C/H/R/K/O/Y(注意 /0 这次在这里)。 和做这件事的人在角落里安静地说几句。棒球棒和撤销其管理员权限的威胁可能是可选的,也可能不是可选的,这取决于您的感受。
如果您谈论的是不包含 Windows 安装的磁盘,只需使用“TAKEOWN”和“ICACLS”实用程序:
然后,您可以将 ACL 重置为您想要的任何内容。
如果它是一个安装了 Windows 2000、XP 或 Server 2003 操作系统的磁盘(不知道这个是 Vista),你可以尝试重新应用默认的安全模板:
(在 Windows Server 安装中,将“defltsv.inf”替换为“defltwk.inf”。)
作为 takeown 和 *cacls 的替代方法,您可以使用 SetACL 首先获取驱动器上每个文件和目录的所有权,然后设置所需的权限。
将整个树的所有者设置为管理员并启用子对象的继承:
为管理员添加完全权限:
我不确定这样的事情是否存在。也就是说,除非您正在对系统进行映像,否则可以在不删除用户数据的情况下重新安装操作系统,这也将修复操作系统相关文件夹的权限。根据这是什么类型的系统以及可用的系统,将驱动器放入另一个系统并拉出用户数据,然后进行擦除并重新安装。
我从来没有听说过任何东西会将所有内容的权限“重置”回空白状态,除非“从备份恢复”很重要。
即使这样做了,它也需要一种方法来了解谁拥有哪些文件,以及注册表权限和其他 ID 信息。很有可能它会搞砸,并且你的系统会在随机时间表现得很奇怪,除非有问题的程序有一个关于机器第一次安装时的状态的快照......在这种情况下它是一样的作为备份。您可能会通过添加用户并首先在机器上安装操作系统来更改权限和 ID(安全 ID),因为 Windows 在 ACL 中有特定于安装的某些内容。
最好的办法是备份用户数据并擦除磁盘并重新安装,然后再将用户数据复制回正确的文件夹,然后制作系统的备份映像。
这是 RAID 无济于事的情况之一,但良好的备份可以(有许多新手管理员似乎认为 RAID 是一种备份;在这种情况下,它不会有帮助!)
我看不出有什么办法可以让事情恢复到只使用一个盒子的方式,但是如果你有第二个可用的盒子,可以作为替代品或临时暂存区(即使是具有大量高清的 PC 也可以temp staging),这是一种解决方案。您可能可以在这里采取捷径,但我更喜欢缓慢而细致的方式,因为它不太容易出现人为错误。
让我们假设服务器 A 是一个权限被搞砸的服务器,而服务器 B 要么是替换区,要么是临时暂存区。