Zuordnen von Posix-Bezeichnern
Das Posix-Subsystem muss in der Lage sein, jede sicherheitsrelevante ID (SID) in einen 32-Bit-Wert zu übersetzen, der als Posix-ID bezeichnet wird. Darüber hinaus muss sie in der Lage sein, die ID entweder als Benutzer-ID oder als Gruppen-ID zu kategorisieren. Um zu verstehen, wie diese Zuordnung erreicht wird, sehen wir uns zunächst die SIDs an, die zugeordnet werden müssen.
SIDs verfügen über zwei Komponenten: die SID der Domäne und die relative ID des Kontos in der Domäne. In der SID S-1-518364-21-43-8 ist beispielsweise die letzte Zahl 8 die relative ID (RID) des Kontos und S-1-518364-21-43 die SID der Domäne.
Domäneninformationen werden in TrustedDomain-Objekten gespeichert. Ein Teil der in einem TrustedDomain-Objekt gespeicherten Informationen ist ein Posix-ID-Offset, der für SIDs innerhalb dieser Domäne verwendet werden soll. Angenommen, eine TrustedDomain ist wie folgt definiert:
Name: NtPgm
Sid: S-1-518364-21-43
Posix Offset: 0x130000
Posix-IDs für Konten in dieser Domäne werden generiert, indem 0x130000 zur relativen ID des Kontos hinzugefügt wird. Die Posix-ID, die der SID S-1-518364-21-43-8 entspricht, wäre also 0x130008.
Nicht alle Posix-ID-Übersetzungen verwenden ein TrustedDomain-Objekt . Die folgende Tabelle zeigt SIDs, die mit bekannten Offsetwerten zugeordnet werden.
`Source` | Posix-ID-Offset |
---|---|
SIDs aus der integrierten Domäne | 0x20000 |
SIDs aus der Kontodomäne | 0x30000 |
SIDs aus der primären Domäne (nur auf Arbeitsstationen) | 0x40000 |
Und schließlich erfordert ein weiterer Satz von SIDs, Logon-SIDs, eine spezielle Verarbeitung. Diese Werte werden vom Windows-Anmeldeprozess für jede Anmeldesitzung zugewiesen und weisen das Format S-1-5-5-5-X-Y auf, wobei X und Y als einzelne LARGE_INTEGER behandelt werden, die für jede Anmeldesitzung erhöht wird. Diese SIDs werden der konstanten Posix-ID 0xFFF zugeordnet. Um die Posix-ID 0xFFF zuzuordnen, können Sie den Anmeldebezeichner übersetzen, der für die Situation am besten geeignet ist, oder Sie können standardmäßig S-1-5-5-0-0 verwenden. (Wenn beispielsweise ein posix-Benutzer Schutz auf ein Objekt anwendet und FFFx angibt, ist es besser, den Anmeldebezeichner dieses Benutzers zu ersetzen, als nur S-1-5-5-0-0 zuzuweisen.)