Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否将Windows 10 cmd行、icacls或类似系统的权限设置为默认值?_Windows - Fatal编程技术网

是否将Windows 10 cmd行、icacls或类似系统的权限设置为默认值?

是否将Windows 10 cmd行、icacls或类似系统的权限设置为默认值?,windows,Windows,我正在尝试重置目录的权限。我找到了icacls/reset,但它将文件设置为从“父对象”(目录工作正常)继承。是否有其他工具或其他方法可以使用icacls设置我的文件以从C:\Users\username或D:\继承权限,或在默认情况下从某个位置继承新文件?除了文件夹/文件的属性->安全性之外,另一种方法是使用PowerShell使用获取Acl和设置Acl。遵循以下指南: 作为查看文件读/写权限的简单方法,我建议使用此工具:在Windows[10]的独立实例上,通常有四个组: N

我正在尝试重置目录的权限。我找到了icacls/reset,但它将文件设置为从“父对象”(目录工作正常)继承。是否有其他工具或其他方法可以使用icacls设置我的文件以从C:\Users\username或D:\继承权限,或在默认情况下从某个位置继承新文件?

除了文件夹/文件的属性->安全性之外,另一种方法是使用PowerShell使用
获取Acl和设置Acl
。遵循以下指南:

作为查看文件读/写权限的简单方法,我建议使用此工具:

在Windows[10]的独立实例上,通常有四个组:

        NT AUTHORITY\SYSTEM
        NT AUTHORITY\Authenticated Users
        BUILTIN\Administrators
        BUILTIN\Users
每个文件和文件夹都具有每个组的访问设置:

        NT AUTHORITY\SYSTEM:(I)(F)
        NT AUTHORITY\Authenticated Users:(I)(M)
        BUILTIN\Administrators:(I)(F)
        BUILTIN\Users:(I)(RX)
除此之外,每个文件夹都有每个组的继承设置

        NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
        NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M)
        BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
        BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE)
命令
icacls/reset
将文件或文件夹的默认ACL设置为从其所在文件夹继承的任何内容

要将包含所有文件和子文件夹的文件夹重置为默认文件夹,需要执行三个步骤:

  • 打开提升的cmd(不是PowerShell)
  • 如有必要,拥有所有文件和文件夹的所有权(以便能够首先更改ACL)
  • 设置最顶层文件夹的正确ACL,包括继承
  • 重置此最上面文件夹下所有内容的ACL
  • 逐步:

  • 拥有所有权:
  • takeown.exe/d y/r/a/f
    
  • 将最顶层文件夹的Windows默认ACL设置为:
  • icacls/删除:d系统/授权系统:(OI)(CI)(IO)F
    icacls/remove:d“认证用户”/“授予认证用户”:(OI)(CI)(IO)M
    icacls/删除:d管理员/授权管理员:(OI)(CI)(IO)F
    icacls/删除:d用户/授权用户:(OI)(CI)(IO)(GR,GE)
    
    注意:/remove:d删除所有“拒绝”ACL(这将覆盖“授予”ACL)

    注意:要替换ACL,请使用“grant:r”而不是“grant”,而不是添加到ACL中

    注意:如果您不关心个人权限,只希望每个人都能访问文件,请使用:
    icacls/remove:d everyone/grant:r everyone:F

  • 使用以下命令将最顶层文件夹下的所有内容的ACL重置为最顶层文件夹的ACL:
  • icacls/reset/t/l/c/q
    

    希望这会有所帮助。

    不,Windows不会跟踪任何特定对象的原始权限。您必须查看另一台计算机,以找到权限应该是什么,然后显式地设置它们。Windows具有继承性,icacls对目录执行此操作。文件的实现工作不正常。
    icacls/reset
    文件上的ACL将更改为从文件所在目录继承的内容。(这就是“父对象”的意思,目录是它包含的文件的父对象。)您到底有什么问题?我的所有其他文件都具有从D:\继承的权限,而这些icacls/reset文件具有“父对象”权限。像这样把它弄得乱七八糟似乎是一种不好的形式。使用
    icacls
    (没有选项,只有文件名)请将“从D:\”继承的文件与“父对象”的文件进行比较。最好将输出复制并粘贴到问题中。
        takeown.exe /d y /r /a /f <topmost_folder>
    
        icacls <topmost_folder> /remove:d SYSTEM                /grant SYSTEM:(OI)(CI)(IO)F
        icacls <topmost_folder> /remove:d "Authenticated Users" /grant "Authenticated Users":(OI)(CI)(IO)M
        icacls <topmost_folder> /remove:d Administrators        /grant Administrators:(OI)(CI)(IO)F
        icacls <topmost_folder> /remove:d Users                 /grant Users:(OI)(CI)(IO)(GR,GE)
    
        icacls <topmost_folder> /reset /t /l /c /q