web-dev-qa-db-ja.com

Windows 10でIcacls&Takeownを使用して変更およびリセットする方法を理解する

  • Windowsフォルダーとその内容の所有権を取得する
  • 変更する
  • 所有権を元に戻す
  • プロセスを理解する
  • Windows 10環境でIcaclsとテイクダウンを使用する

Before using takeown and icacls commands because of the sensitive nature of windows folders, I would like to know and understand what changes to permissions will take place, so that they can be reset to their original position. As one article I read said “Be careful, taking the ownership of system folders you may break your operating systems.” Though I don’t think I will in this case, as I plan to use this on more than one computer, it would be good to know what is going on, so that the correct commands are used.

これは私の現在の潜在的なスクリプトです:

takeown /f C:\Windows\Web
takeown /f C:\Windows\Web\*.* /R
…changes to default image cache here…
icacls C:\Windows\Web\*.* /reset /T /C
icacls c:\Windows\Web\*.* /setowner " Web NT SERVICE\TrustedInstaller" /T /C"
icacls c:\Windows\Web /setowner " Web NT SERVICE\TrustedInstaller" /T /C"

現在の理解:

A)  takeown /f C:\Windows\Web  (Take ownership of directory) 
A)  takeown /f C:\Windows\Web\*.* /R 
    (Take ownership of all files and subdirectories)
    [[B is an alternative for A]]
B)  takeown /f C:\Windows\Web  /R /d Y  
    (?? recursively take ownership of all files and folders)
C)  icacls C:\Windows\Web\*.* /T /C /reset  
    (?? this resets security permissions to default for all the folders, 
    files and subfolders)
D)  icacls c:\Windows\Web\*.* /setowner " Web NT SERVICE\TrustedInstaller" /T /C"
    (This resets the owner of the folder contents see last script box)
E)  icacls c:\Windows\Web /setowner " Web NT SERVICE\TrustedInstaller" /T /C"
    Set owner of folder back to original

現在のフォルダの権限は次のとおりです。

COMMAND Prompt - ADMINISTRATOR 
C:\Windows>icacls "C:\Windows\Web"
C:\Windows\Web NT SERVICE\TrustedInstaller:(F)
               NT SERVICE\TrustedInstaller:(CI)(IO)(F)
               NT AUTHORITY\SYSTEM:(M)
               NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
               BUILTIN\Administrators:(M)
               BUILTIN\Administrators:(OI)(CI)(IO)(F)
               BUILTIN\Users:(RX)
               BUILTIN\Users:(OI)(CI)(IO)(GR,GE)
               CREATOR OWNER:(OI)(CI)(IO)(F)
               APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(RX)
               APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(OI)(CI)(IO)(GR,GE)
               APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APP PACKAGES:(RX)
               APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APP PACKAGES:(OI)(CI)(IO)(GR,GE)

読書:

4
Under A Tree

ディレクトリとコンテンツを別々に行う必要はありません。また、権限をリセットする必要もありません。

簡単な方法

管理者のコマンドプロンプトから:

  1. ディレクトリとコンテンツの所有権を取得します。いくつあるかによって、変更したい特定のアイテムにこれを絞り込むことができます。

_takeown /f C:\Windows\Web /r_

  1. 自分に完全な制御権を与えます。注_%USERDOMAIN%\%USERNAME%_は自動的にユーザーに置き換えられます-ここで何かを置き換える必要はありません。

icacls C:\Windows\Web /grant "%USERDOMAIN%\%USERNAME%":(F) /t

  1. 変更を加えます

  2. 所有権を元に戻します。

_icacls c:\Windows\Web /setowner "NT SERVICE\TrustedInstaller" /t_

  1. 付与された権限を削除

icacls C:\Windows\Web /remove:g "%USERDOMAIN%\%USERNAME%":(F) /t

別の方法

別の方法として、ACLを保存および復元します。これは、ユーザーが_/remove:g_を使用して削除したくないディレクトリ内のオブジェクトの一部にすでに権限を付与している状況をカバーします。

  1. 現在のACLをどこかにファイルに保存します。

_icacls C:\Windows\Web /save "C:\Web.acl" /t_

  1. 所有権を得る

_takeown /f C:\Windows\Web /r_

  1. 自分に完全な制御権を与えます。

icacls C:\Windows\Web /grant "%USERDOMAIN%\%USERNAME%":(F) /t

  1. 変更を加えます

  2. 所有権を元に戻します。

_icacls c:\Windows\Web /setowner "NT SERVICE\TrustedInstaller" /t_

  1. 手順1で作成したファイルからACLを復元します。これらは親ディレクトリで復元されるため、この場合は_C:\Windows_ではなく_C:\Windows\Web_ではありません。

_icacls C:\Windows /restore "C:\Web.acl"_

4
lx07