%ProgramFiles%
Windows Server 2019에서 관리 사용자 계정을 사용하여 , 및 %ProgramFiles(x86)%
의 사용자 계정에 대한 NTFS 권한을 변경하려고 하는데 폴더가 의 소유이므로 오류가 %WinDir%
발생합니다 .access denied
TrustedInstaller
- 기본 및 고급 권한 대화 상자를 모두 시도했는데 고급 대화 상자를 사용하여 에 대한 권한을 변경하면
C:
변경 사항을 하위 항목에 전파할 때 해당 세 폴더에서 실패합니다. - 폴더의 소유권을 변경하는 것이 가능할 수도 있지만 그렇게 하는 것은 좋은 생각이 아닐 수도 있다고 가정합니다.
왜 이런 일이 발생하며 이를 방지할 수 있는 방법이 있습니까?
- 내가 달성하려는 것은 사용자 계정을 샌드박싱하여 단일 자동화 목적으로 사용되는 두 개를 제외하고 모든 앱에 대한 실행 권한을 거부하는 것입니다. 그 중 하나는 의 하위 폴더에 있고
%ProgramFiles%
다른 하나는 별도의 드라이브에 있습니다. .
답변1
폴더 때문에 이런 일이 발생합니다.현재의ACL은 관리자 계정에 ACL 설정 권한을 부여하지 않습니다. 소유자가 아닌 경우 해당 종류의 액세스 권한을 명시적으로 부여받지 않는 한 ACL을 변경할 수 없습니다. 이는 관리자에게도 적용됩니다.
(모든 권한을 부여하는 액세스 항목은 (IO)
"상속만"으로 표시됩니다. 이는 하위 개체에만 영향을 미치고 원본 폴더에는 영향을 미치지 않습니다.)
icacls
이를 우회하는 한 가지 방법은 Explorer가 임의 소유자를 설정하는 데 사용하는 SeRestorePrivilege(예: PSPrivilege cmdlet 사용)를 활성화하는 것입니다. 그러나 변경하기 전에 수동으로 권한을 다시 비활성화하므로 작동하지 않습니다 . 하지만 다른 도구를 사용해도 작동할 수 있습니다(PowerShell 자체 도구를 사용해도 가능 Set-Acl
).
또 다른 방법은 TrustedInstaller 권한으로 임의의 명령을 실행할 수 있는 도구를 사용하는 것입니다 gsudo --ti
(Windows 구성 요소가 해당 권한을 얻는 것과 거의 동일한 방식).