Windows에서 일반 권한/액세스 권한 디코딩

Windows에서 일반 권한/액세스 권한 디코딩

Windows에서 3개의 별도 폴더에 대해 다음 3개의 권한 값이 있는 경우:

Decimal: 268435456 - Binary: 10000000000000000000000000000 - 29 bits

Decimal: 134217728 - Binary: 1000000000000000000000000000 - 28 bits

Decimal: 67108864 - Binary: 100000000000000000000000000 - 27 bits

이 3가지 권한 값을 어떻게 해석합니까?

여기는MSDN 액세스 마스크 형식 가이드:

마스크 키에 액세스

이진 단어를 32비트 길이로 만들기 위해 가장 중요한 비트(왼쪽) 앞에 일반 권한을 0으로 채워야 합니까?

제가 이해한 바에 따르면 일반 권한은 32비트 부호 없는 정수 값이지만 -1610612736항상 같은 권한이 표시됩니다. 서명되지 않았으며 단순히 서명된 것으로 표시됩니까?

PowerShell을 사용하여 권한 확인 스크립트를 생성하고 있는데 이 문제가 발생합니다...이 stackoverflow 게시물은 관련이 있습니다.또한TechNet 게시물 이 문제에 대해 설명하겠습니다..

답변1

알았어 내가 그랬던 것처럼 스스로 대답해Technet에 대한 도움을 받으세요.

Unpadded "268435456" "Generic All" 29 bits -     10000000000000000000000000000
Unpadded "536870912" "Generic Execute" 30 bits - 100000000000000000000000000000
Unpadded "1073741824" "Generic Write" 31 bits -  1000000000000000000000000000000
Unpadded "-2147483648" "Generic Read" 32 Bits -  10000000000000000000000000000000

이제 패딩되었습니다.

Padded "268435456" "Generic All" 32 bits -     00010000000000000000000000000000
Padded "536870912" "Generic Execute" 32 bits - 00100000000000000000000000000000
Padded "1073741824" "Generic Write" 32 bits -  01000000000000000000000000000000
Padded "-2147483648" "Generic Read" 32 Bits -  10000000000000000000000000000000

액세스 마스크 다이어그램

액세스 마스크에 대한 MSDN 문서 링크.

모든 32비트 권한은 왼쪽(최상위 비트)에 추가되어야 합니다. 이 작업이 완료되면 비트가 권한을 결정하기 위해 Microsoft에서 사용하는 액세스 마스크와 어떻게 일치하는지가 분명해집니다.

또한 "일반 읽기"(-2147483648)의 부호 있는 표현과 부호 없는 표현은 정확히 동일한 이진 시퀀스를 생성하는 것으로 보입니다. 이 값에 표시가 있는 것이 무엇인지 100% 확신할 수는 없지만 다른 액세스 권한 시퀀스에는 중요할 수 있습니다.

관련 정보