begin process at 2010 02 10 11:05:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Autre

 > 

Base de registre, ACL et C#


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Base de registre, ACL et C#

mardi 19 décembre 2006 à 18:45:05 | Base de registre, ACL et C#

nicolaslepot

Bonjour,

Dans un programme destiné à des supers end-users , il est impératif que je modifie le contenu d'une clé de registre qui se trouve dans la HKLM\Software. Mais je sais que là bas, par défaut les utilisateurs  n'ont pas le droit d'aller lorsqu'ils sont dans un domaine.

Alors, j'ai pensé que plutôt que de laisser décrouvrir à mes collègues que mon programme plante à un endroit à cause de ça, ce serait bien de pouvoir définir un droit d'accès plus léger uniquement sur cette clé.

Donc ma question est la suivante, comment définir en C# un droit d'accès genre tout le monde en lecture/écriture pour une clé de la base de registre ?

Merci d'avance,

nico
mardi 19 décembre 2006 à 19:17:03 | Re : Base de registre, ACL et C#

coq

Administrateur CodeS-SourceS
Salut,

C'est plutôt une tâche administrative ça.
Le "problème" est que si tes utilisateurs n'ont pas accès en écriture à cette clé, il n'auront probablement pas non plus le droit de changer leurs droits sur cette clé (et heureusement).

Sinon la classe RegistryKey possède une méthode SetAccessControl.



/*
coq
MVP Visual C#
CoqBlog
*/
mercredi 20 décembre 2006 à 16:36:45 | Re : Base de registre, ACL et C#

nicolaslepot

Salut,

Merci pour cette réponse. Ca marche :)

En fait j'ai un 1 er programme qui s'exécute au démarrage, juste après la phase de logon, mais malheureusement juste avant la création de l'environnement utilisateur. Donc ce 1 er programme tourne avec l'identité de l'utilisateur système. Donc j'écris dans HKLM\Software\... car HKCU n'existe pas encore a ce moment là. Mon soucis était qu'une fois le user bien connecté, un deuxième programme devait aller lire puis modifier la clé dans HKLM\Software\.... Et là, ca foirait à cause des droits. En redéfinissant les droits adéquats dans le premier programme j'arrive maintenant à lire avec le deuxième... Et ce en laissant bien les utilisateurs du domaine en tant qu'utilisateurs sans pouvoir sur leur machine!!!

Mais je pense qu'il y a encore moyen d'un peu améliorer...

Je crois savoir que la branche HKCU n'est en fait qu'un raccourcis vers HKU\[id_user]\.
Si j'arrive a écrire dans HKU\[id_user]\Software\... avec mon 1er programme, mon deuxième programme n'aura pas besoin de droit spécifique pour récupérer/modifier cette valeur de clé car il y accédera directement via HKCU\Software\...
Ce serait d'autant mieux (et plus sécurisé) car la donnée que j'écris dans le registre n'est autre que le mot de passe d'authentification entré par l'utilisateur au logon de Windows (je l'ai quand même chiffré au passage)...
De plus, en stockant ma donnée dans HKLM avec la modif de droit d'accès, la donnée se trouve à la portée de tous les users locaux ou du domaine qui se connectent sur cette machine. Si la donnée en question était écrite dans le bon HKU\[id_user]\ (autrement dit dans la branche HKCU de cet utilisateur), seul l'utilisateur en question aurait la capacité de manipuler sa propre donnée...
==> Sécurité++ :)

Du coup, je pousse la réflexion plus loin en me demandant ceci :

comment savoir à quel utilisateur correpond les [id_user] sous la branche HKU\ du registre ???


Si je peux le détecter avec mon 1er prog et y écrire ma donnée, il n'y a plus besoin d'ACL et la sécurité globale du SI augmenterait. Ce serait génial.


Voulou voilou, désolé pour le roman,

Merci d'avance pour vos idées,

nico


mercredi 20 décembre 2006 à 19:24:19 | Re : Base de registre, ACL et C#

coq

Administrateur CodeS-SourceS
Logiquement une méthode des API permet de récupérer le nom d'utilisateur à partir du SID.
LookupAccountSid il me semble.



/*
coq
MVP Visual C#
CoqBlog
*/


Cette discussion est classée dans : base, droit, registre, clé, acl


Répondre à ce message

Sujets en rapport avec ce message

Probleme de droit sur la base de registre [ par clavelski ] Bonjour,Je viens de faire un service en C# qui récupere des données de ma base de registre.Un Client qui récupere ces données et qui les affiches a l' Autorisation sur clé de la base de registre [ par cboulas ] Hello tous, Voilà, j'ai un petit bug sur mon appli, j'ai dev une appli qui fonctionne à merveille sur tout les pc et version de windows. Mais voilà l Incompréhension du mot clé base [ par stampeed ] Lire et modifier la base de registre [ par clavelski ] Bonjour, Je suis débutant en C#, donc j'aimerai avoir quelques informations concernant les registres.Donc je m'explique:J'ai une application ASPX qui [Base de registre] Problème de droits [ par Kaneda Shotaro ] Bonjour Je suis actuellement sous Windows 7. Je fais un programme qui doit créer une clé et une valeur dans la base de registre. Dans les autres appli Ecrire et lire dans base de registre [ par AGLRA ] Bonjour, Je débute en C#, j'ai l'expèrience(modeste) en C++ et MFC. Je voudrai accéder au registre pour pouvoir écrire et lire dans le HKEY_CURRENT_US probleme clé unique postgreSQL [ par ducker88 ] Bonjour à tous, Je travaille actuellement avec une base postgreSQL par un ODBC, pour definir la clé unique de ma table j'ai créé une sequence, par con base régistre [ par ddove53 ] Slt,j'ai créé  une clé comme suit:RegistryKey hkcu = Registry.CurrentUser;RegistryKey Base de registre recupération d'une valeur impossible :) [ par kyoto1 ] Je suis débutant en c#, d'habitude j'arrive toujours à m'en sortir (d'ailleurs bravo pour votre site!!  mais la , je sais pas pourquoi ça bloque: Regi "Décoder" une valeur binaire du registre [ par Yocon ] Salut à tous,Je poste ici car je ne trouve pas de réponse à mon problème. J'essaie de lire une clé binaire dans le registre, une fois que j'ai cette c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales