La gestion du SID

Le SID est un identifiant de sécurité utilisé pour identifier les ressources et les personnes sur un réseau Microsoft.

Le SID d'un domaine se présente sous la forme S-1-5-21-nnnnnnnnnn-nnnnnnnnnn-nnnnnnnnnn

Chaque serveur de fichiers possède son propre SID et celui-ci est utilisé lors de la création des comptes (utilisateurs, groupes, machines rattachées au domaine).

Lors de l'installation d'un module Scribe ou Horus, Samba[1] génère aléatoirement son propre SID.

Dans certains cas (migration, restauration), il est nécessaire de le modifier afin d'obtenir un fonctionnement correct avec d'anciennes données.

Tous les utilisateurs possèdent, en plus de leur identifiant Unix (uidNumber) et de leur identifiant de groupe principal (gidNumber), les équivalents Microsoft, appelés sambaSID et sambaPrimaryGroupSID.

Lors de l'intégration d'une station au domaine (à partir de Windows 2000), un compte de station est créé avec des identifiants uniques.

Toutes ces informations sont stockées dans l'annuaire LDAP[2] du module.

Calcul du SID pour les groupes

  • gidNumber : gid numérique Unix traditionnel

Exemple

10001 pour le groupe professeurs

  • sambaSID : SID suivi d'une valeur obtenue par le calcul suivant : 2 x gidNumber + 1001

Exemple

S-1-5-21-nnn-nnn-nnn-21003 pour le groupe professeur

Calcul du SID pour les utilisateurs et les comptes de stations

  • uidNumber : UID numérique Unix traditionnel

Exemple

11327 pour l'utilisateur test

  • sambaSID : SID suivi d'une valeur obtenue par le calcul suivant : 2 x uidNumber + 1000

Exemple

S-1-5-21-nnn-nnn-nnn-23654 pour l'utilisateur test

  • sambaPrimaryGroupSID : sambaSID du groupe principal de l'utilisateur

Exemple

S-1-5-21-nnn-nnn-nnn-21005 pour un élève

S-1-5-21-nnn-nnn-nnn-515 pour une station (groupe spécial domainComputers)

Quelques commandes

  • Obtenir le SID du serveur

# net getlocalsid

SID for domain SCRIBE is: S-1-5-21-1282421234-3914496513-4208907870

  • Vérifier la valeur du SID stocké dans l'annuaire LDAP

# ldapsearch -x sambaDomainName=* | grep sambaSID

sambaSID: S-1-5-21-1282421234-3914496513-4208907870

  • Valider le SID (enregistrement samba)

# net rpc getsid

Storing SID S-1-5-21-1282421234-3914496513-4208907870 for Domain DOMACA in secrets.tdb

  • Forcer la valeur du SID (restauration du SID de l'ancien serveur)

# net setlocalsid S-1-5-21-nnn-nnn-nnn