Расшифровка общих разрешений/прав доступа в Windows

Расшифровка общих разрешений/прав доступа в Windows

Если у меня есть следующие 3 значения разрешений для 3 отдельных папок в Windows:

Decimal: 268435456 - Binary: 10000000000000000000000000000 - 29 bits

Decimal: 134217728 - Binary: 1000000000000000000000000000 - 28 bits

Decimal: 67108864 - Binary: 100000000000000000000000000 - 27 bits

Как интерпретировать эти три значения разрешений?

ЗдесьРуководство по формату маски доступа MSDN:

Ключ маски доступа

Следует ли мне дополнять общие разрешения нулями перед самым старшим битом (с левой стороны), чтобы сделать двоичное слово длиной 32 бита?

Насколько я понимаю, общие разрешения — это 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 для определения разрешений.

Кроме того, похоже, что знаковые и беззнаковые представления "Generic Read" (-2147483648) дают одну и ту же двоичную последовательность. Я действительно не уверен на 100%, какое значение имеет знак в этом значении, но, возможно, это имеет значение для других последовательностей прав доступа.

Связанный контент