oximoron
Messages postés149Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention30 janvier 2009
-
4 mai 2008 à 00:12
oximoron
Messages postés149Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention30 janvier 2009
-
6 mai 2008 à 20:24
Voilà je me résigne car je ne trouve pas de réponse à mon problème. Ca n'est pas faute d'avoir cherché mais là ...
Voici mon problème, j'ai un serveur sous windows server 2003 avec un dossier partagé qui s'appelle 'Sauvegardes'.
Je voudrais que mon programme puisse écrire et lire avec des File.Copy, des StreamWritter, et tout ... mais sans que l'utilisateur n'ai accès à ce dossier. J'ai déjà essayé avec plusieurs techniques sans succès, soit j'ai un accès total soit une interdiction totale...
Si vous avez une idée ca serait vraiment bien.
P.s. : J'ai un accès total au serveur et aux postes clients (j'ai pas de restrictions, si faut faire des bidouilles )
oximoron
Messages postés149Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention30 janvier 2009 6 mai 2008 à 20:24
Victoire !!! Je suis têtu et quelque chose en moi me disait de continuer à chercher, les services sont capables de tourner sous un autre compte. Après 2 jours de recherche, j'ai enfin trouvé mon bonnheur ... une api windows
CreateProcessWithLogonW
est capable de lancer un processus avec un autre compte. C'est mis en place dans cette source. Attention si on n'est pas dans un domaine il faut que le même compte existe sur le serveur ET sur le poste client.
Et bin ce ne fut pas sans mal. Je tiens à remercier Google, Coq, et enfin ma voix intérieur sans qui je ne posterai pas ce message
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 4 mai 2008 à 01:14
Salut,
Sans faire tourner l'application sous un autre compte que celui de l'utilisateur (ou faire de l'emprunt d'identitié au niveau du code qui réalise les I/O) j'ai peur qu'il n'y ai pas vraiment de solution.
oximoron
Messages postés149Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention30 janvier 2009 4 mai 2008 à 11:54
bah c'est ca que je veux faire : "sans faire tourner l'application sous un autre compte que celui de l'utilisateur" je voudrais que l'utilisateur garde sont compte "toto" classique avec ses droits mais qu'on puisse faire comme "executer en tant qu'administrateur" ou plutôt "executer en tant que sauveur" (c'est le nom du compte )
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 4 mai 2008 à 12:21
Ben voilà donc si tu as besoin que seules certaines portions du code utilisent les privilèges et droits de "sauveur" tu es parti pour de l'emprunt d'identité.
Le tout est de faire ça de manière propre (pas de mot de passe dans le code ou je ne sais où) : si un prompt pour les credentials est envisageable ça ne devrait pas poser trop de problèmes.
Je n'ai jamais eu l'occasion de pousser les investigations sur ce genre de sujet donc je ne pourrais pas plus t'aider.
Ensuite une autre question est de savoir si tu as réellement besoin d'effectuer ces actions dans le même processus ou alors celles-ci peuvent être déléguées à un autre processus qui pourrait être mit en place et démarré sans l'intervention de l'utilisateur.
oximoron
Messages postés149Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention30 janvier 2009 4 mai 2008 à 12:42
Ok pour la propreté le login et mot de passe sont stocké dans un xml qui est crypté en sha. La clé est planqué dans le code, est le code pourra être obstrué après. C'est une appli qui sera utilisé uniquement sur un site en local donc si il y en as un qui est chopé en en train de faire du reflector, la direction risque de pas aimer .
Merci pour les pistes du credentials j'ai trouvé ceci qui parle des credentials ca à l'air simple je vais essayer.
http://www.codeguru.com/csharp/csharp/cs_network/windowsservices/article.php/c12357/ Et ca aussi mais là ca à l'air uzine à gaz
http://www.codeproject.com/KB/security/cgsecurity.aspx P
ar contre ton histoire de processus autre là j'ai pas compris ca m'aide pas vriament si ?
En tout cas merci pour ton aide coq.
"C'est une appli qui sera utilisé uniquement sur un site en local donc si il y en as un qui est chopé en en train de faire du reflector, la direction risque de pas aimer"
Et si c'est quelqu'un qui s'en fiche, est sur le départ (dans de mauvaises conditions), à la possibilité de prendre les binaires pour regarder peinard chez lui ?
Reflector n'est pas non plus le seul outil : un simple petit coup d'ildasm en ligne de commande et le tour est joué, plus qu'à lire un simple fichier texte.
Pour l'histoire du processus, je ne sais pas si ça t'aide, c'est à toi de voir si dans ta problématique ça peut aller.
S'il s'agit de faire des backups de fichiers, ça pourrait coller.
oximoron
Messages postés149Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention30 janvier 2009 4 mai 2008 à 13:18
Pour ton lien j'avais déjà essayé sans succès, mais je vais ressayer ca ne coute pas grand chose, j'avais peut être loupé un truc.
Exact c'est bien vu, j'avais pas pensé à ca. Donc ca vaut le coup d'attacher un peu plus d'importance. Et obstruer le code avec les chaines cryptés ca serait déjà un bon point pour décourager (c'est le but).
Et pour le processus nan ca colle pas ca fait pas que d'autres choses.
oximoron
Messages postés149Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention30 janvier 2009 4 mai 2008 à 19:02
Bon là je jette l'éponge, je n'y arrive pas. Je vais faire autrement. Je vais installer un serveur ftp sur le serveur, et les transferts seront fait comme ca, j'espère que je pourrais faire ce que je veux. Je vais m'inspirer de cette source pour développer une classe pour que se soit le plus transparent possible.
Merci pour l'aide.