PowerShell에서 특정 사용자에 대한 ACL 가져오기 방법
-
PowerShell에서
Get-Acl
소개 - 특정 사용자에 대한 ACL 검색
-
Get-Acl
출력 해석 - 실용적인 예제
-
PowerShell에서 특정 사용자에 대한 권한 확인을 위해
Get-Acl
사용하기 - 결론

PowerShell은 강력한 자동화 도구로, Windows 환경의 다양한 측면을 관리하는 수많은 cmdlet을 제공합니다.
기본 cmdlet 중 하나는 Get-Acl
로, 이는 접근 제어 목록(ACL)을 의미합니다. 이 cmdlet을 통해 관리자는 파일, 폴더 또는 레지스트리 키의 보안 설명자(권한)를 검색하고 검사할 수 있습니다.
이 문서에서는 특정 사용자를 위한 Get-Acl
사용의 복잡성에 대해 탐구할 것입니다. 우리는 구문, 옵션 및 실용적인 예제를 다루어 Windows 환경에서 접근 권한을 효과적으로 관리하는 데 도움을 줄 것입니다.
PowerShell에서 Get-Acl
소개
Get-Acl
은 파일, 디렉토리 또는 레지스트리 키의 접근 제어 목록(ACL)을 검색하는 데 사용되는 PowerShell cmdlet입니다. ACL은 객체에 액세스할 수 있는 사람과 그 수준의 액세스를 정의하는 접근 제어 항목(ACE)의 목록을 포함합니다.
권한을 이해하고 관리하는 것은 안전하고 조직된 컴퓨팅 환경을 유지하는 데 중요합니다. Get-Acl
은 관리자가 권한을 프로그래밍 방식으로 검사하고 수정할 수 있는 수단을 제공하여 관리자를 지원합니다.
기본 구문:
Get-Acl [-Path] <String[]> [-Audit] [-AllCentralAccessPolicies] [-Directory] [-Filter <String>] [-Include <String[]>] [-LiteralPath <String[]>] [-Owner] [-Access <String>] [-UseTransaction] [<CommonParameters>]
일반 매개변수:
-Path |
ACL을 검색할 항목의 경로를 지정합니다. |
-Audit |
감사 규칙을 검색합니다. |
-Owner |
소유자 정보를 검색합니다. |
-Access |
특정 유형의 접근 규칙만 검색합니다. |
-UseTransaction |
cmdlet에 거래 사용을 허용합니다. |
-InputObject |
특정 객체의 보안 설명자를 제공합니다. |
-LiteralPath |
리소스 또는 파일의 경로를 지정하는 데 사용됩니다. 이 매개변수의 값은 입력된 그대로 사용해야 합니다. |
고급 옵션:
-AllCentralAccessPolicies |
모든 중앙 접근 정책을 검색합니다. |
-Directory |
항목이 디렉토리임을 지정합니다. |
-Filter |
지정된 기준에 따라 결과를 필터링합니다. |
-Include |
지정된 항목만 검색합니다. |
-Exclude |
특정 항목을 생략합니다. 여기서는 경로를 제공해야 합니다. |
특정 사용자에 대한 ACL 검색
Path
매개변수 사용
특정 사용자에 대한 ACL을 검색하는 가장 간단한 방법은 항목(파일, 디렉토리 또는 레지스트리 키)의 경로와 함께 Path
매개변수를 사용하는 것입니다.
Get-Acl -Path 'C:\Example\File.txt'
Where-Object
로 사용자 지정
특정 사용자에 대한 결과를 필터링하려면 Get-Acl
과 함께 Where-Object
cmdlet을 사용할 수 있습니다. 이를 통해 원하는 사용자와 관련된 ACE만 선택할 수 있습니다.
Get-Acl -Path 'C:\Example\File.txt' | Where-Object { $_.Access | Where-Object { $_.IdentityReference -eq 'DOMAIN\User' } }
코드는 C:\Example\File.txt
파일의 ACL 내에서 사용자의 신원 'DOMAIN\User'
와 관련된 특정 접근 규칙을 찾고 있습니다. 일치하는 규칙이 있을 경우 출력에 표시되며, 그렇지 않으면 출력이 비어 있습니다.
Get-Acl
출력 해석
접근 규칙
Get-Acl
의 출력에는 접근 규칙에 대한 정보가 포함됩니다. 각 규칙은 사용자 또는 그룹, 접근 유형(예: 읽기, 쓰기), 그리고 해당 접근을 허용할지 거부할지에 대한 정보를 명시합니다.
감사 규칙
-Audit
매개변수가 사용되면 감사 규칙도 포함됩니다. 이 규칙은 특정 사용자 또는 그룹에 대해 어떤 유형의 접근을 감사해야 하는지를 명시합니다.
소유자 및 그룹
Get-Acl
은 또한 항목의 소유자와 이에 연결된 그룹에 대한 정보를 검색할 수 있습니다.
실용적인 예제
예제 1: 파일에 대한 ACL 검색
아래 명령은 C:\Example\File.txt
에 위치한 파일의 접근 제어 목록(ACL)을 검색합니다. 이 명령은 해당 특정 파일과 관련된 권한 및 접근 규칙에 대한 정보를 반환합니다.
Get-Acl -Path 'C:\Example\File.txt'
예제 2: 디렉토리에 대한 ACL 가져오기
아래 명령은 위 명령과 동일하게 작동하지만 다른 디렉토리에 대한 ACL을 검색합니다.
Get-Acl -Path 'C:\Example\Directory'
예제 3: 레지스트리 키 권한 확인
아래 명령은 HKLM:\SOFTWARE\ExampleKey
에 위치한 레지스트리 키의 접근 제어 목록(ACL)을 검색합니다. 이 명령은 해당 특정 레지스트리 키와 관련된 권한 및 접근 규칙에 대한 정보를 반환합니다.
Get-Acl -Path 'HKLM:\SOFTWARE\ExampleKey'
예제 4: 접근 유형으로 필터링하기:
-Access
매개변수를 사용하여 특정 유형의 접근 규칙(예: 읽기, 쓰기)만 검색할 수 있습니다.
Get-Acl -Path 'C:\Example\File.txt' -Access Read, Write
예제 5: 출력 형식 지정하기:
Format-Table
또는 Format-List
와 같은 cmdlet을 사용하여 출력을 더 읽기 쉽게 형식화할 수 있습니다.
Get-Acl -Path 'C:\Example\File.txt' | Format-Table -Property Path, AccessToString
PowerShell에서 특정 사용자에 대한 권한 확인을 위해 Get-Acl
사용하기
때때로 특정 사용자의 권한을 확인해야 합니다. 이는 특정 파일에 대한 접근을 제어하는 등의 다양한 목적으로 필요합니다. PowerShell의 도움으로 파일에 대한 접근 권한을 쉽게 확인할 수 있습니다.
아래는 시스템 관리자에 대한 권한 상태를 확인하기 위한 PowerShell 스크립트입니다.
Get-Acl g:\ | Select-Object -ExpandProperty Access | Where-Object identityreference -EQ "BUILTIN\Administrators"
이 코드는 g:\
에 위치한 디렉토리에 대한 접근 제어 정보를 검색한 후, "Administrators"
그룹에 대한 접근 규칙만 표시하도록 필터링합니다. 이는 특정 디렉토리의 권한을 감사하거나 관리하는 데 유용할 수 있습니다.
위 코드를 실행한 결과는 g:\
에 위치한 디렉토리에 대해 "Administrators"
그룹에 특별히 할당된 접근 규칙 목록이 될 것입니다. 이 출력에는 부여된 권한, 권한이 적용되는 신원 및 기타 관련 정보에 대한 세부정보가 포함될 것입니다.
FileSystemRights : 268435456
AccessControlType : Allow
IdentityReference : BUILTIN\Administrators
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : InheritOnly
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : BUILTIN\Administrators
IsInherited : False
InheritanceFlags : None
PropagationFlags : None
결론
Get-Acl
은 Windows 환경 내에서 권한을 관리하는 데 중요한 역할을 하는 강력한 cmdlet입니다. 그 구문을 이해하고 다양한 매개변수를 활용함으로써 관리자는 접근 제어 정보를 효율적으로 검색하고 분석할 수 있습니다.
이 지식은 안전하고 조직된 컴퓨팅 환경을 유지하는 데 매우 중요합니다.
권한을 변경할 때는 항상 주의하고, ACL을 수정하기 전에 적절한 백업을 항상 마련해 두세요. Get-Acl
을 PowerShell 도구로 사용하여 안전하고 잘 관리되는 Windows 환경을 유지하는 데 소중한 도구를 갖추게 됩니다.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn