親フォルダーにない権限が継承される

全然大した内容ではないのだが、検証でちょっとはまったので備忘録として記載する。

お問い合わせで C:\Windows\System32\drivers の権限をいじりたいと依頼があった。
※ 非推奨の内容だと思うのでやらないでほしい

手元にあった Windows 10 version 1909 の既定の権限はこんな感じ

```
C:\Windows\System32\drivers 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\制限されたすべてのアプリケーション パッケージ:(RX)
                            APPLICATION PACKAGE AUTHORITY\制限されたすべてのアプリケーション パッケージ:(OI)(CI)(IO)(GR,GE)

1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
```

ここに検証用のファイル test.sys を作る

drivers フォルダーの既定の所有者は TrustedInstaller なのでそのままだとファイル作れないからデスクトップにファイル作ってコピーする。

作ったファイルみてみると、何故か作成したユーザー local01 のフルコントロールがついている

```
C:\Windows\system32>icacls C:\Windows\System32\drivers\test.sys
C:\Windows\System32\drivers\test.sys NT AUTHORITY\SYSTEM:(I)(F)
                                     BUILTIN\Administrators:(I)(F)
                                     BUILTIN\Users:(I)(RX)
                                     DESKTOP-SFSUMF4\local01:(I)(F)
                                     APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
                                     APPLICATION PACKAGE AUTHORITY\制限されたすべてのアプリケーション パッケージ:(I)(RX)

1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
```

これね **DESKTOP-SFSUMF4\local01:(I)(F)**

(I) だから上位フォルダーから継承しているという意味なのだが、上位フォルダーである drivers フォルダーは変わらず下記の通り。
参考：https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/icacls

```
C:\Windows\system32>icacls C:\Windows\System32\drivers
C:\Windows\System32\drivers 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\制限されたすべてのアプリケーション パッケージ:(RX)
                            APPLICATION PACKAGE AUTHORITY\制限されたすべてのアプリケーション パッケージ:(OI)(CI)(IO)(GR,GE)

1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
```

なんぞお前どこから来た

と思っていたらファイルの所有者がファイルを作成した local01 ユーザーだった
```
C:\Windows\system32>dir C:\Windows\System32\drivers\test.sys /q
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は 5E30-8CA1 です

 C:\Windows\System32\drivers のディレクトリ

2021/08/24  11:53                 0 DESKTOP-SFSUMF4\local01test.sys
               1 個のファイル                   0 バイト
               0 個のディレクトリ  115,513,982,976 バイトの空き領域
```

検証ライクな悩みなので別にいいんだけど気持ち悪いので、所有者を administrators に変える

```
C:\Windows\system32>dir C:\Windows\System32\drivers\test.sys /q
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は 5E30-8CA1 です

 C:\Windows\System32\drivers のディレクトリ

2021/08/24  11:53                 0 BUILTIN\Administrators test.sys
               1 個のファイル                   0 バイト
               0 個のディレクトリ  115,511,611,392 バイトの空き領域
```

この状態ではまだ権限は外れいていない
```
C:\Windows\system32>icacls C:\Windows\System32\drivers\test.sys
C:\Windows\System32\drivers\test.sys NT AUTHORITY\SYSTEM:(I)(F)
                                     BUILTIN\Administrators:(I)(F)
                                     BUILTIN\Users:(I)(RX)
                                     DESKTOP-SFSUMF4\local01:(I)(F)
                                     APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
                                     APPLICATION PACKAGE AUTHORITY\制限されたすべてのアプリケーション パッケージ:(I)(RX)

1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
```

これが正しいやり方なのかは疑問だけど、takeown して明示的に local01 の権限を削除すればなくなる

```
C:\Windows\system32>takeown /f C:\Windows\System32\drivers

成功: ファイル (またはフォルダー): "C:\Windows\System32\drivers" は現在ユーザー "DESKTOP-SFSUMF4\local01" によって所有されています。

C:\Windows\system32>icacls C:\Windows\System32\drivers /grant local01:F
処理ファイル: C:\Windows\System32\drivers
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

C:\Windows\system32>icacls C:\Windows\System32\drivers /setowner "NT Service\TrustedInstaller"
処理ファイル: C:\Windows\System32\drivers
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

C:\Windows\system32>icacls C:\Windows\System32\drivers /remove local01
処理ファイル: C:\Windows\System32\drivers
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
```

結果
```
C:\Windows\system32>icacls C:\Windows\System32\drivers\test.sys
C:\Windows\System32\drivers\test.sys NT AUTHORITY\SYSTEM:(I)(F)
                                     BUILTIN\Administrators:(I)(F)
                                     BUILTIN\Users:(I)(RX)
                                     APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
                                     APPLICATION PACKAGE AUTHORITY\制限されたすべてのアプリケーション パッケージ:(I)(RX)

1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

C:\Windows\system32>icacls C:\Windows\System32\drivers
C:\Windows\System32\drivers 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\制限されたすべてのアプリケーション パッケージ:(RX)
                            APPLICATION PACKAGE AUTHORITY\制限されたすべてのアプリケーション パッケージ:(OI)(CI)(IO)(GR,GE)

1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

C:\Windows\system32>dir C:\Windows\System32\drivers\test.sys /q
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は 5E30-8CA1 です

 C:\Windows\System32\drivers のディレクトリ

2021/08/24  11:53                 0 BUILTIN\Administrators test.sys
               1 個のファイル                   0 バイト
               0 個のディレクトリ  115,502,391,296 バイトの空き領域

C:\Windows\system32>dir C:\Windows\System32\drivers /q
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は 5E30-8CA1 です

 C:\Windows\System32\drivers のディレクトリ

2021/08/24  11:54    <DIR>          NT SERVICE\TrustedInsta.
2021/08/24  11:54    <DIR>          NT SERVICE\TrustedInsta..
(割愛)
             410 個のファイル          87,734,986 バイト
               8 個のディレクトリ  115,501,547,520 バイトの空き領域
```