none
NTFS文件系统权限丢失了,怎样重置。 RRS feed

  • 常规讨论

  • 敬启者,

    你好,因为某些原因<sup>[1]</sup>,我丢失了整个驱动器(一个分区,D盘)的权限。在“我的电脑”视图下甚至无法查看该驱动器剩余容量示意条。

    最终,我能够执行下面的命令(管理员权限执行)“复位”了该驱动所有文件的权限:

    C:\> cd /D d:\
    D:\> takeown /R /F * 
    D:\> icacls * /T /Q /C /RESET 
    

    过去了一段时间,我才发现这个驱动器下面的所有文件需要管理员权限才能够修改。

    我知道我可以参考C(甚至是其它电脑的D盘)盘的属性,逐个逐个添加进去,然后仔细选择Modify,Read & execute等复选项,但是这个办法太蠢了,请问有没有“一键永逸”的命令啊?

    哈哈有人知道吗?

    [1] 我无法删除一个文件夹,貌似是Windows Update更新留下的,于是我用DiskGenius强制删除了,然后又做了一个磁盘检查,于是就这个样子了。I know, it was my fault.

    2017年1月3日 13:43

全部回复

  • 如果这个分区已经没有什么重要数据了,用磁盘管理删除分区后重新建立并格式化应该比较简单。


    Alexis Zhang

    http://mvp.microsoft.com/zh-cn/mvp/Jie%20Zhang-4000545
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 "陈伟琪"

    | 你好,因为某些原因<sup>[1]</sup>,我丢失了整个驱动器(一个分区,D盘)的权限。在“我的电脑”视图下甚至无法查看该驱动器剩余容量示意条。|

    2017年1月3日 13:47
    版主
  • 不能格。
    2017年1月3日 14:39
  • 我都用了
    C:\> cd /D d:\
    D:\> takeown /R /F * 
    D:\> icacls * /T /Q /C /RESET 
    命令行来处理了,当前不会考虑格式化的方式去解决这个问题啦。
    2017年1月3日 14:40
  • 很多系统保护的文件的所有者是trusted installer。替换所有者之后也要给trusted installer用户所有权限才行。


    Visual C++ MVP

    2017年1月3日 15:14
    版主
  • 我的意思是,有没有通过命令行的方式,达到如下图的效果(点击OK,假设文件所有者已经是我了。所以在递归设置权限的过程中是没有文件会失败的。):


    2017年1月4日 5:24
  • 以前有一个叫 SUBINACL 的工具可以重置磁盘分区或注册表权限,不知现在还能不能用。

    subinacl /subdirectories %DriveVolume% /grant=administrators=f /grant=system=f


    Alexis Zhang

    http://mvp.microsoft.com/zh-cn/mvp/Jie%20Zhang-4000545
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 <Weiqi Chen>;

    | 我的意思是,有没有通过命令行的方式,达到如下图的效果(点击OK,假设文件所有者已经是我了。所以在递归设置权限的过程中是没有文件会失败的。):

    2017年1月4日 13:41
    版主
  • 以前有一个叫 SUBINACL 的工具可以重置磁盘分区或注册表权限,不知现在还能不能用。

    subinacl /subdirectories %DriveVolume% /grant=administrators=f /grant=system=f


    Alexis Zhang

    http://mvp.microsoft.com/zh-cn/mvp/Jie%20Zhang-4000545
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 <Weiqi Chen>;

    | 我的意思是,有没有通过命令行的方式,达到如下图的效果(点击OK,假设文件所有者已经是我了。所以在递归设置权限的过程中是没有文件会失败的。):

    我通过下面的命令测试,貌似可以修改该目录下的所有文件和文件夹的拥有者和权限属性。

    subinacl.exe /subdirectories d:\Stuffs\* /setowner=administrators /grant=administrators=f /grant=system=f /grant=users=r /grant="Authenticated Users"=c

    问题是,我发现d:\Stuffs\A文件 的权限并不是继承d:\Stuffs。也就是说每个文件/文件夹的权限都是独立的,不存在继承关系。(要解决这个不一致“问题”,还是需要通过UI去勾选“用继承权限替换子对象的权限”)

    不知道这个怎么用命令去解决呢?

    PS:我测了一下我在D盘其他位置创建的文件夹/文件,其默认继承D:\

    2017年1月5日 5:08

  • SET DRIVEVOLUME=D SET SUBPREFIX="C:\Program Files (x86)\Windows Resource Kits\Tools\" #给驱动器分配权限 cd /d %SUBPREFIX% subinacl.exe /file %DRIVEVOLUME%:\ /setowner=administrators /grant=administrators=f /grant=system=f /grant=users=r /grant="Authenticated Users"=c cd #Replaces ACLs with default inherited ACLs for all matching files. icacls %DriveVolume%:\ /t /q /c /l /reset

    这样就应该可以了吧。
    2017年1月5日 5:49
  • 嗯,不错,看起来应该没问题。


    Alexis Zhang

    http://mvp.microsoft.com/zh-cn/mvp/Jie%20Zhang-4000545
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 <Weiqi Chen>;

    | [/code]
    | 这样就应该可以了吧。

    2017年1月5日 13:35
    版主