Ce code permet de lire les permissions et les audits sur un fichier ou dossier pour savoir quels utilisateurs ont quels droits sur le fichier ou le dossier.
Il permet aussi de modifier ces droits d'accès.
Vous pouvez ajouter, modifier ou supprimer les droits pour un utilisateur.
Vous pouvez ajouter, modifier ou supprimer les audits d'accès pour un utilisateur.
Ce code a été testé seulement sous XP mais devrait fonctionner sous NT et 2000. Il ne fonctionne pas sous 9x/ME. De plus, il est nécessaire d'avoir les droits suffisants sur le fichier (Administrateur ou Propriétaire)
Mise en garde : je ne serais être tenu responsable des effets de ce code (perte des droits d'accès...) dus à une mauvaise utilisation ou à un bug.
Conclusion :
Comme tous les codes sur la sécurité : attention à ne pas créer de faille en ajoutant des utilisateurs qui n'ont pas normalement de droits d'accès...
Ce code expose à peu près les fonctionnalités des 2 premiers Autorisations et Audit (Propriétés d'un fichier, onglet Sécurité, Paramètres avancés)
sous XP Familiale : il faut télécharger scesp4i.exe sur le FTP de Microsoft
(instructions d'installation :
http://www.bellamyjc.net/fr/windowsxp2003.html#securitytabXPHOME)
15 juil. 2004 à 13:59
15 juil. 2004 à 15:31
On pourrait juste rajouter : une drivelistbox et une dirlistbox et le code:
-------------------------------------------------------
Private Sub Dir1_Change()
txtFile = Dir1
ViewUsers
End Sub
Private Sub Drive1_Change()
Dir1 = Drive1
End Sub
-------------------------------------------------------
Juste pour une utilisation plus simple... mais bon c'est du chipotage ;)
Keneyda
3 mars 2005 à 10:23
Bref à chaque appel de
LookupAccountName il faut préciser le domaine ; ce qui donne :
LookupAccountName vbNullString, Aces(X).lpReferencedDomainName & "" & Aces(X).User, ByVal 0&, cbSID, lpRef, cbRef, peUSe
au lieu de
LookupAccountName vbNullString, Aces(X).User, ByVal 0&, cbSID, lpRef, cbRef, peUSe
Documentation ici de l'API http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthz/security/lookupaccountname.asp
lpAccountName
[in] Pointer to a null-terminated string that specifies the account name.
Use a fully qualified string in the domain_name\user_name format to ensure that LookupAccountName finds the account in the desired domain.
Voili voilou.
20 juil. 2005 à 15:19
21 juil. 2005 à 09:06
->GetFileSecurity pour les fichiers
->RegGetKeySecurity pour les clés de registre
->GetKernelObjectSecurity pour tout autre handle (ca marche peut etre meme avec les handles de registres et de fichiers)
ShareVB
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.