EPFL > VPSI > IT > EXAPP - Site d'information: WinAD (Windows Active Directory)
 

  Affiche tous les articles

 Mode d'emploi du moteur de recherche  Rechercher : 
Moteur de recherche
Home page
Accréditation
Activation MS
AD c'est quoi ?
AD PowerShell
Authentifications
Autorisations DHCP
bugs
Conseils AD
DCs Sécurité
Délégations OUs
Domaine SC
Gaspar
GPO
Grp-Staff
KMS
Migrations
Outils
· Enable the Disk Cleanup tool 2012R2
· Rearming Sysprep
· Apply Images Using DISM
· Désactiver la couche 6to4 (IPV6) sur Windows 7 ,8 ,2008 ,2012
· Check MachineConf
· AD Users & Computers : afficher l'onglet "additional account info" sur OS 64 bits
· CMD for AD 2000/3/8 Dsget
· ShellRunas for VISTA
· Déléguer la gestion des services
· Mise à jour automatique avec Software Update Services pour Windows 2000, XP et 2003
· SUBINACL modifier les permissions & permuter les SID
· ADMT-V2 (Active Directory Migration Toll)
· How-to Migration NT4-2000 with ADMT V2 by Philippe Chammartin(IC-ISC)
· Outils pour la gestion de l'Active Directory (support tools)
· "Replication Access Was Denied"
· LES INDISPENSABLES Outils de support Active Directory
· commandes de Windows 2000
· NETDOM Déplacer des comptes machines d'un domaine à un autre
· MOVETREE pour déplacer des USERS d'un domaine2000 à un autre
· Installation des outils de support de Windows 2000 sur un ordinateur Windows 2000 Server
· Outils de migration de Domaines et OU
Procès verbaux
Profiles Itinérants
PWAD
Règles de nommage
Restaurations DC Fac
ServerAD2003
ServerAD2008
Seven
Students
synchro
toto1
Trucs et Astuces
Win 8.1
WinAD
Windows 10
Windows 8
Windows Server
Wins
Work Shop
  Afficher une version imprimable de ce document dans une nouvelle fenêtre
 
SUBINACL modifier les permissions & permuter les SID
 

Avec l'outil Subinacl (se trouve dans le ressource KIT Windows2000 Server) est à la fois un outil de sécurité et de migration

Subinacl peut faire tout ce que peuvent faire  Xcacls et Cacls

Il permet de créer et de supprimer des permissions et de permuter des SID pour faciliter des migrations

Subinacl permet aussi de changer de propriétaire, de changer les ACE (access control entries), de tester l'accès et de sauvegarder et de restaurer des ACL

L'administrateur peux normalement examiner le fichier d'un utilisateur qu'en prenant possession, puis en s'octroyant un droit de regard. Ce faisant l'administrateur laisserait des indices de son passage, parce qu'il possèderait désormais le fichier et qu'il ne pourrait pas changer cette propriété parce que, en tant qu'administrateur, il peut seulement prendre la propriété, pas la donner ! GUI ne permet que la prise de propriété.

Mais SUBINACL oh miracle il fait les deux, OUI OUI VOUS AVEZ BIEN ENTENDU et bien d'autre chose!


Avec la commande /setowner, on peut changer la propriété d'un fichier, Ainsi pour faire de Léon le propriétaire du fichier testfile.txt dans un domaine nommé ADAM

Commande : subinacl /file c:\testfile.txt /setowner=adam\léon


Le point fort de Subinacl se situe dans ses vues des permissions et de la sécurité des objets en général. Les ACL régissent les permissions : chaque entrée sur un ACL est appelée ACE (Access Control Entry). Si, par exemple, les permissions sur un fichier dans un domaine donnent Full Control aux administrateurs et à Mary et donnent No Access à Jack, l’ACL du fichier contient trois ACE, qui décrivent l’accès pour les administrateurs, Mary et Jack. Pour afficher l’ACL d’un fichier, utilisez la commande

subinacl /verbose=1 /file c:\testfile.txt \display
où testfile.txt est le nom du fichier.
La figure 1 montre la sortie obtenue avec cette commande.
Figure 1 : ACL de Textfile.txt 
====================
+File C:\testfile.txt
====================
/owner =builtin\administrators
/primary group =win2ktest\domain users
/audit ace count =Ø
/perm. ace count =3
/pace =win2ktest\jack Type=Øx1 Flags=Øx3
 AccessMask=ØxfØ1ff
/pace =builtin\administrators Type=ØxØ Flags=Øx3
 AccessMask=Øx1fØ1ff
/pace =win2ktest\mary Type=ØxØ Flags=Øx3
 AccessMask=Øx1fØ1ff
On y voit le nom du fichier puis le nom du propriétaire. L’information de groupe primaire n’est généralement pertinente 
que pour les applications POSIX. Ensuite, la sortie montre le nombre d’ACE d’audit (c’està- dire, les aaces) et les ACE 
de permission (c’est-à-dire, perm, aces ou paces), puis donne des informations sur ces ACE. Win2K et NT vous permettent
de préciser exactement ce qu’il faut auditer - par exemple, quand Mary ne parvient pas à écrire dans le fichier ou que
John ne parvient pas à lire le fichier. Subinacl explique ces termes comme des ACE d’audit. Les ACE de permissions sont
les permissions qui permettent aux utilisateurs d’examiner ou de modifier un fichier ou un répertoire.
L’exemple contient trois ACE de permission parce que l’ACL contient un ACE pour les administrateurs, un pour Mary,
et un pour John. Chacune des trois lignes suivantes s’applique à un ACE de permission. La valeur Type indique si 
l’ACE est un Deny ACE ou un Allow ACE : 0x1 représente un Deny ACE, 0x0 représente un Allow ACE. La valeur AccessMask 
définit les permissions de l’ACE. Pour décoder la valeur AccessMask en permissions spécifiques, vous pouvez examiner 
les bits présents dans la valeur ou exécuter la commande Subinacl avec l’option /verbose= 2, qui affiche la permission
sous forme de texte, au lieu de l’option /verbose=1. Ces valeurs représentent les permissions de plus bas niveau possibles 
pour les fichiers. Les administrateurs tendent à raisonner en termes de permissions plus agrégées, qui comprennent une ou 
plusieurs permissions de bas niveau. Par exemple, la permission Read est constituée des permissions de bas niveau Read Data,
Read Attributes, Read Extended Attributes et Read Permissions. (Pour visualiser les permissions de bas niveau par 
l’intermédiaire de l’ACL GUI d’un fichier, ouvrez Windows Explorer, ouvrez la boîte de dialogue Properties de n’importe
quel fichier ou dossier NTFS et allez à l’onglet Security. Cliquez sur Advanced pour ouvrir la boîte de dialogue Advanced 
Control Settings, cliquez sur n’importe quel ACE puis cliquez sur View/Edit.)
 
Subinacl permet de modifier des permissions de fichiers et de répertoires. Subinacl peut faire tout ce que peuvent faire
 Xcacls et Cacls : il peut modifier un ACE existant ou créer un nouveau Allow ou Deny ACE. La commande suivante ajoute
 un ACE accordant la permission Read à un nouvel utilisateur, Larry, dans une société nommée Example. 
 
subinacl /file c:\testfile.txt
/grant=example\larry=R
 
L’option /file indique à subinacl que la commande agira sur un fichier ACE. Les autres options sont un service système 
(/service), une clé de registre (/keyreg ou /subkeyreg), un ensemble de dossiers et les éventuels sous-dossiers qu’ils 
contiennent (/subdirectories), un dossier partagé (/share), un share de fichier cluster (/clustershare), un objet kernel 
(/kernelobject), ou la métabase IIS (/metabase). Le paramètre c:\testfile.txt précise le fichier sur lequel la commande 
agira ; le nom de fichier peut contenir des jokers. 
 
L’option /grant ordonne à subinacl de créer un nouveau Allow ACE plutôt que de créer un nouveau Deny ACE (/deny) ou de
 modifier un ACE existant (/replace). Le paramètre suivant indique le nom du compte, et le dernier caractère indique 
la permission à accorder. Subinacl reconnaît R (Read), F (full control), C (change, identique modify),
 P (change permissions), O (take ownership), X (execute), E (read and execute), W (write) et D (delete).
 Bien que Subinacl ne vous permette de voir que les permissions de bas niveau, vous ne pouvez octroyer que
 des permissions de haut niveau. Le paramètre modèle /grant=example\larry=R ordonne à Subinacl de créer un ACE qui 
donne la permission Read (C) au compte example\larry.

Pour dénier les permissions, utilisez la commande /deny. La commande suivante interdit à Larry d’écrire dans le fichier :

subinacl /file c:\testfile.txt
/deny=example\larry=W

Vous pouvez spécifier de multiples Allow ACE ou Deny ACE. Par exemple, pour accorder un accès Read et Write à Larry, 
il suffit d’accoler les paramètres de permission, comme 

dans example\larry=RW. Toutefois, Subinacl peut traiter les deux types d’ACE pour la même personne – ainsi, vous pourriez vouloir

donner à Larry l’accès Read, mais pas l’accès Write, mais vous ne pouvez pas utiliser une combinaison de Allow et Deny ACE.

(Xcacls et Cacls partagent cette limitation, probablement parce que les trois outils sont apparus pour la première fois dans NT 4.0,

dans laquelle la notion d’Allow et Deny ACE n’était pas courante. Peutêtre que la prochaine livraison d’outils du kit

de ressources comblera cette lacune.)

 
Vous pouvez utiliser des jokers pour changer des permissions sur plusieurs fichiers d’un répertoire, mais qu’advient-il si 
vous voulez apporter des modifications à tout un disque ou à tout un arbre de répertoires dans un disque ? Dans ce cas, 
utilisez l’option /subdirectories de Subinacl. Supposons que vous vouliez accorder à Mary Full Control de tous les 
sousdossiers et fichiers qui se trouvent dans C:\testfolder. Tapez 
subinacl /subdirectories
c:\testfolder\* /grant=example\mary=F
Notez que vous devez placer la barre oblique inverse et le joker après c:\testfolder, faute de quoi Subinacl appliquera
la permission au dossier spécifié plutôt qu’à tous les fichiers et sous-dossiers qu’il contient.
 
Supposons que vous ayez un certain nombre de fichiers auxquels une seule employée – Laurie – peut accéder. Laurie démissionne
et est remplacée par Janet, laquelle a besoin d’accéder à tous ces fichiers. La solution de ce problème est parfois appelée
re-ACLing parce qu’elle oblige à modifier les ACL du fichier un à un à partir de la GUI – très très embêtant. 
Je suppose que vous possédez les fichiers. Dans le cas contraire, vous devez en prendre possession – puis user votre souris
à faire le re-ACLing à partir de la GUI.) Alors qu’avec Subinacl, vous pouvez faire la même chose dans une seule ligne : 
subinacl /file * /replace
example\laurie=example\janet
Cette commande examine tous les ACE sur tous les fichiers du répertoire courant et remplace le SID de Laurie par le SID de 
Janet dans chaque ACE qui fait référence à Laurie. Vous pouvez même utiliser un SID de remplacement provenant d’un autre 
domaine, à la condition que les deux domaines se fassent mutuellement confiance. 
 
Supposons qu’au lieu de remplace le SID de Laurie par celui de Janet, vous vouliez supprimer tous les ACE qui font référence
à Laurie. Vous pouvez alors utiliser l’option /revoke de Subinacl. Ainsi, pour supprimer toutes les traces de Laurie dans 
le lecteur C:d’un serveur, tapez 
subinacl /subdirectories c:\*
/revoke=example\laurie
Subinacl possède aussi une option presque identique, /suppresssid, dotée d’une fonction supplémentaire. Avec ce commutateur, 
quand le compte utilisateur révoqué possède le fichier, Subinacl remplace le propriétaire du fichier par le groupe Everyone. 
 
Il vous est peut-être arrivé d’examiner la liste de permissions d’un fichier et de voir, à la place de l’icône utilisateur 
habituelle, la silhouette d’une tête avec le nom Account Unknown? Cette icône signifie que le compte qui bénéficiait de la 
permission a été supprimé. 
Supposons qu’au lieu de désactiver le compte utilisateur de Laurie, vous l’ayez supprimé. Quand vous ouvrez la GUI ACL sur
un fichier qui avait un ACE pour Laurie, Windows Explorer voit un ACE avec un SID particulier – celui provenant de l’ancien 
compte de Laurie – et interpelle le DC (domain controller) : « Eh ! J’ai obtenu ce SID... Quel est le nom humain de ce compte ?
» (Vous constaterez peut-être ce comportement sur un domaine occupé : quand vous ouvrez la boîte de dialogue Properties 
d’un fichier et allez à l’onglet Security, vous voyez d’abord des SID puis, après quelques secondes, les SID sont remplacés 
par des noms de comptes. Le délai résulte du temps qu’il faut au serveur pour demander au DC d’examiner les noms de comptes
et le temps qu’il faut au DC pour répondre.) Comme le compte de Laurie est supprimé, il n’existe pas de nom à associer 
au SID spécifié – d’où le label Account Unknown. Au bout d’un certain temps, les ACL de votre entreprise risquent d’être 
surchargés par ces reliquats. Subinacl peut les nettoyer avec l’option /cleandeletedsidsfrom (qui doit préciser le domaine) : 
subinacl /subdirectories c:\*
/cleandeletedsidsfrom=example

Subinacl est une commande extrêmement utile qui peut d’ailleurs faire beaucoup plus que ce que je viens de décrire.

Je reviendrai sur d’autres possibilités de cet outil dans mon prochain article. Mais n’attendez pas jusque-là – utilisez

le commutateur /help de Subinacl pour faire votre propre découverte. Vous pouvez aussi utiliser le commutateur /testmode

de Subinacl pour essayer la commande en mode test :

 

subinacl /testmode /subdirectories
c:\testfolder\* /grant=example\mary=F
 
Ce mode donne la même sortie que le mode normal, mais Subinacl n’effectue aucun changement sur le disque.

USAGE
-----

Usage  : SubInAcl [/view_mode] [/test_mode] [/output=FileName] /object_type object_name
                  [/action[=parameter] [/action[=parameter]]...

 /view_mode   :
    /noverbose                            /verbose (default=/verbose=2)
    /verbose=1                            /verbose=2
 /test_mode   :
    /notestmode (default=/notestmode)     /testmode
 /object_type :
    /service            /keyreg             /subkeyreg
    /file               /subdirectories     /share
    /clustershare       /kernelobject       /metabase
    /printer            /onlyfile
 /action      :
    /display(default)
    /setowner=owner
    /replace=[DomainName\]OldAccount=[DomainName\]New_Account
    /changedomain=OldDomainName=NewDomainName
    /migratetodomain=SourceDomain=DestDomain
    /findsid=[DomainName\]Account[=stop]
    /suppresssid=[DomainName\]Account
    /confirm
    /ifchangecontinue
    /cleandeletedsidsfrom=DomainName
    /testmode
    /accesscheck=[DomainName\]Username
    /setprimarygroup=[DomainName\]Group
    /grant=[DomainName\]Username[=Access]
    /deny=[DomainName\]Username[=Access]
    /revoke=[DomainName\]Username

Usage  : SubInAcl   [/view_mode] /playfile file_name

Usage  : SubInAcl   /help [keyword]
         SubInacl   /help /full
    keyword can be :
    features  usage syntax sids  view_mode test_mode object_type
    domain_migration substitution_features editing_features
         - or -
    any [/action] [/object_type]

Article N° 55, du 06.11.2003, par Alain Gremaud
URL de cet article : http://winad.epfl.ch/?article=55

© 2017 VPSI - EXAPP - TC