Dekodierung generischer Berechtigungen / Zugriffsrechte in Windows

1298
Shrout1

Wenn ich die folgenden 3 Berechtigungswerte für 3 separate Ordner in Windows habe:

Decimal: 268435456 - Binary: 10000000000000000000000000000 - 29 bits  Decimal: 134217728 - Binary: 1000000000000000000000000000 - 28 bits  Decimal: 67108864 - Binary: 100000000000000000000000000 - 27 bits 

Wie interpretiere ich diese 3 Berechtigungswerte?

Hier ist das MSDN Access Mask Format-Handbuch :

Zugangsmaskenschlüssel

Soll ich meine generischen Berechtigungen mit 0 vor dem höchstwertigen Bit (der linken Seite) auffüllen, um das Binärwort 32 Bit lang zu machen?

Ich verstehe, dass generische Berechtigungen 32-Bit-Ganzzahlwerte ohne Vorzeichen sind, jedoch sehe ich Berechtigungen wie die -1610612736ganze Zeit. Sind sie unsigniert und werden sie einfach als unterzeichnet dargestellt?

Ich verwende PowerShell, um ein Skript für die Berechtigungsprüfung zu erstellen und auf dieses Problem einzugehen ... Dieser Stackoverflow-Beitrag ist relevant. Auch ein TechNet-Post habe ich über dieses Problem besprochen .

2

1 Antwort auf die Frage

1
Shrout1

Ok, ich antworte selbst, da ich etwas Unterstützung bei Technet hatte.

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 

Jetzt gepolstert:

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 

Zugriffsmaske-Diagramm

Link zum MSDN-Artikel zur Zugriffsmaske.

Alle 32-Bit-Berechtigungen sollten auf der linken Seite aufgefüllt werden (höchstwertiges Bit). Sobald dies geschehen ist, wird klar, wie das Bit mit den Zugriffsmasken übereinstimmt, die von Microsoft zur Ermittlung von Berechtigungen verwendet werden.

Es scheint auch, dass die vorzeichenbehafteten und vorzeichenlosen Darstellungen von "Generic Read" (-2147483648) genau dieselbe binäre Sequenz ergeben. Ich bin wirklich nicht zu 100% sicher, was das Zeichen für diesen Wert hat, aber vielleicht ist es wichtig für andere Zugriffsrechtssequenzen.