2

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

Decimal: 268435456 - Binary: 10000000000000000000000000000 - 29 bits

Decimal: 134217728 - Binary: 1000000000000000000000000000 - 28 bits

Decimal: 67108864 - Binary: 100000000000000000000000000 - 27 bits

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

Вот руководство формата MSDN Access Mask:

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

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

Насколько я понимаю, общие разрешения - это 32-разрядные целые числа без знака, но я все время вижу такие разрешения, как -1610612736 . Они не подписаны и просто представлены как подписанные?

Я использую PowerShell для создания сценария проверки разрешений и сталкиваюсь с этой проблемой ... Эта публикация в стеке является актуальной. Также сообщение TechNet, которое я имею об этой проблеме.

1 ответ1

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

Access Mask Diagram

Ссылка на статью MSDN о маске доступа.

Все 32-битные разрешения должны быть дополнены с левой стороны (наиболее значимый бит). Как только это будет сделано, станет ясно, как этот бит совпадает с масками доступа, используемыми Microsoft для определения разрешений.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .