IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Permission NTFS


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut Permission NTFS
    Bonjour à tous, je vous présente mon problème

    Je crée une application pour des photos, et mon application doit parfois modifier le registre.

    J'essaye donc de modifier mon registre, mais il me dit que l'accès et refusé...
    J'ai donc essayé de me donner des autorisations NTFS, mais le problème persiste.

    Voici mes lignes de codes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
            private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
     
     
                    try
                    {
                        string DirectoryName = "TestDirectory";
     
                 AddDirectorySecurity(DirectoryName,Environment.UserName,FileSystemRights.ReadData, AccessControlType.Allow);
     
                    }
                    catch (Exception erreur)
                    {
                        Console.WriteLine(erreur);
                    }
     
                    Console.ReadLine();
     
     RegistryKey registryKey = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Redimensionner en 10");
     
    }

    Avez vous une idée?
    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 269
    Points : 460
    Points
    460
    Par défaut
    Bonjour,

    Oui une grosse idée même.

    Alors voici ce que tu essayes de faire, depuis ton programme tu veux modifier les droits d'une clés registre sur laquelle tu n'as aucun droit
    Pour faire cette modification, il faut que tu sois sous une "identité" (compte) qui te le permette, typiquement un compte du groupe administrateurs.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Bonjour antoine.debyser

    Et merci de ta réponse.

    Mais le problème c'est que je dois créer une application qui doit être téléchargeable depuis internet.

    Les clients viennent la chercher sur un site puis l’exécute

    De ce fait je ne peux pas gérer si l'utilisateur est connecté en Administrateur ou autre..

    Tu ne saurais pas comment je pourrais faire pour m'octroyer mes propres droits?

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 269
    Points : 460
    Points
    460
    Par défaut
    Soit en utilisant l'uac (dispo sur Vista et plus récent)
    Soit en contrôlant à la main le niveau de l'utilisateur puis en faisant une impersonisation au besoin.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    D'accord je voie le truk.

    Mais mon application ne peut pas interagir avec l'utilisateur donc Uac impossible.

    Mais saurais-tu comment changer le WindowsIdentidy afin de le passer en administrateur puis le repasser en utilisateur ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Ce post peut t'interresser :
    http://www.developpez.net/forums/d12...ade-privilege/

    Il montre comment enregistrer dans HKLM depuis un processus non-admin

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Oui sa m'a l'air d'un début de solution .

    Mais il y a encore un petit quelque chose qui me dérange.

    Comment faire pour que soit toujours administrateur lorsque j’exécute mon application.

    Le fait de demander à l'utilisateur s’il veut exécuter l'application en administrateur me dérange.

    Dans ce qu'il met demandé de faire, l'utilisateur n’a pas à avoir le choix :/

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Official
    l'idée c'est que ton appli ne tourne pas en admin justement (même si l'utilisateur fait partie du group admin)

    Sinon pour répondre à ta question:
    - tu peux vérifier à l'execution que l'utilisateur fait partie du groupe admin
    - tu peux spécifier le fameux "runas", soit dans le procesStart, soit dans les propriété de l’exécutable, afin de forcer l'utilisateur à faire tourner l'appli en mode admin (dangereux !)
    - Si tu veux savoir si le process tourne en full admin, il suffit de regarder la propriété Verb = "runas" je suppose...

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Ton idée m'a l'air intéressante

    Voici se que j'ai codé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
                private static bool RunElevated(string fileName)
                {
                    //MessageBox.Show("Run: " + fileName);
                    ProcessStartInfo processInfo = new ProcessStartInfo();
                    processInfo.Verb = "runas";
                    //processInfo.FileName = fileName;
     
                    try
                    {
     
                        Process.Start(processInfo.Verb);
     
                        return true;
                    }
                    catch (Win32Exception)
                    {
                        //Do nothing. Probably the user canceled the UAC window
                    }
                    return false;
     
     
                }
    Mais j'ai dû faire une erreur quelque part car cela ne fonctionne pas :/

Discussions similaires

  1. Développement appli permissions NTFS
    Par Zhamy dans le forum C#
    Réponses: 44
    Dernier message: 22/04/2010, 23h24
  2. Développement outil permission NTFS
    Par Zhamy dans le forum Windows
    Réponses: 1
    Dernier message: 06/04/2010, 11h21
  3. Delphi et Permission NTFS (cacls inside)
    Par Raspoutitsa dans le forum Débuter
    Réponses: 0
    Dernier message: 19/08/2009, 16h37
  4. [WD11] Permissions NTFS
    Par WDKyle dans le forum WinDev
    Réponses: 7
    Dernier message: 06/07/2009, 09h29
  5. Permissions NTFS avec XP Home
    Par Loceka dans le forum Sécurité
    Réponses: 2
    Dernier message: 10/09/2006, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo