DACL 및 ACL

Windows 개체에 DACL( 임의 액세스 제어 목록 )이 없는 경우 시스템은 모든 사용자가 이 목록에 액세스할 수 있도록 허용합니다. 개체에 DACL이 있는 경우 시스템은 DACL의 ACE( 액세스 제어 항목 )에서 명시적으로 허용되는 액세스만 허용합니다. DACL에 API가 없는 경우 시스템은 누구에게도 액세스를 허용하지 않습니다. 마찬가지로 DACL에 제한된 사용자 또는 그룹 집합에 대한 액세스를 허용하는 API가 있는 경우 시스템은 API에 포함되지 않은 모든 수탁자의 액세스를 암시적으로 거부합니다.

대부분의 경우 액세스 허용 ACE를 사용하여 개체에 대한 액세스를 제어할 수 있습니다. 개체에 대한 액세스를 명시적으로 거부할 필요가 없습니다. 예외는 ACE가 그룹에 대한 액세스를 허용하고 그룹의 멤버에 대한 액세스를 거부하려는 경우입니다. 이렇게 하려면 그룹에 대한 액세스 허용 ACE보다 먼저 DACL의 사용자에 대한 액세스 거부 ACE를 배치합니다. 액세스 권한이 부여되거나 거부될 때까지 시스템에서 AES를 순서대로 읽기 때문에 AES의 순서 가 중요합니다. 사용자의 액세스 거부 ACE가 먼저 나타나야 합니다. 그렇지 않으면 시스템에서 그룹의 액세스 허용 ACE를 읽을 때 제한된 사용자에게 액세스 권한을 부여합니다.

다음 그림에서는 한 사용자에 대한 액세스를 거부하고 두 그룹에 대한 액세스 권한을 부여하는 DACL을 보여 줍니다. 그룹 A의 구성원은 그룹 A에 허용되는 권한과 모든 사람에게 허용되는 권한을 누적하여 읽기, 쓰기 및 실행 액세스 권한을 얻습니다. 예외는 Andrew이며, 모든 사용자 그룹의 구성원임에도 불구하고 액세스 거부 ACE에 의해 액세스가 거부됩니다.

그룹 멤버 자격에 따라 서로 다른 액세스 권한을 부여하는 dacl