Mappage des identificateurs Posix
Le sous-système Posix doit être en mesure de traduire tout identificateur de sécurité (SID) qu’il rencontre en une valeur 32 bits, appelée ID Posix. En outre, il doit être en mesure de classer l’ID en tant qu’ID utilisateur ou ID de groupe. Pour comprendre comment ce mappage est effectué, examinons d’abord les SID qui doivent être mappés.
Les SID ont deux composants, le SID du domaine et l’ID relatif du compte dans le domaine. Par exemple, dans le SID S-1-518364-21-43-8, le dernier nombre, 8, est l’ID relatif (RID) du compte et S-1-518364-21-43 est le SID du domaine.
Les informations de domaine sont stockées dans des objets TrustedDomain . Une partie des informations stockées dans un objet TrustedDomain est un décalage d’ID Posix à utiliser pour les SID au sein de ce domaine. Par exemple, supposons qu’un Domaine de confiance est défini comme suit :
Name: NtPgm
Sid: S-1-518364-21-43
Posix Offset: 0x130000
Les ID Posix pour les comptes de ce domaine sont générés en ajoutant 0x130000 à l’ID relatif du compte. Ainsi, l’ID Posix correspondant au SID S-1-518364-21-43-8 serait 0x130008.
Toutes les traductions d’ID Posix n’utilisent pas un objet TrustedDomain . Le tableau suivant présente les SID mappés à l’aide de valeurs de décalage connues.
Source | Décalage de l’ID Posix |
---|---|
SID du domaine intégré | 0x20000 |
SID du domaine de compte | 0x30000 |
SID du domaine principal (sur les stations de travail uniquement) | 0x40000 |
Enfin, un autre ensemble de SID, les SID de connexion, nécessite un traitement spécial. Ces valeurs sont affectées par le processus d’ouverture de session Windows pour chaque session d’ouverture de session et ont la forme S-1-5-5-X-Y, où X et Y sont traités comme une seule LARGE_INTEGER incrémentée pour chaque session d’ouverture de session. Ces SID sont mappés à l’ID Posix constant 0xFFF. Pour mapper l’ID Posix 0xFFF, vous pouvez traduire l’identificateur d’ouverture de session qui convient le mieux à la situation, ou utiliser S-1-5-5-0-0 par défaut. (Par exemple, si un utilisateur posix applique la protection à un objet et spécifie FFFx, il est préférable de remplacer l’identificateur de connexion de cet utilisateur plutôt que d’attribuer simplement S-1-5-5-0-0.)