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

MS SQL Server Discussion :

Echec de l'execution xp_cmdshell


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Par défaut Echec de l'execution xp_cmdshell
    Bonjour,

    J'essai d'executer depuis une app cliente avec un utilisateur creer dans une base de donnée une sp contenant la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Set @msg='exec master.dbo.xp_cmdshell "net send ' + RTRIM(@Host) + ' ' + RTRIM(@notification) + ' "'
    Ca me donne le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echec de l'execution xp_cmdshell parce que le contexte de sécurité actuel n'est pas sysadmin et le compte proxy n'est pas configurer correctement.
    Consulter la docs etc.....
    Comment faire pour qu'un utilisateur ne se trouvant pas dans master puisse executer cette commande.
    A remarquer qu'avec le compte sa ca marche bien


    Je vous remercie.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    Question très intéressante. Pour résoudre ton problème, tu as une solution simple. Il te suffit d'affecter au niveau de la procédure stockée système xp_cmdshell les droits d'exécution à l'utilisateur SQL qui exécute la procédure.

    Remarque : cette solution est possible en fonction de la politique de sécurité que souhaite mettre en place sur ton serveur SQL. En effet, l'autorisation d'exécution de cette procédure stockée système permettra à l'utilisateur de pouvoir exécuter tout type de commande système.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    exec master.dbo.xp_cmdshell "FORMAT C:"
    Maintenant, c'est à toi d'évaluer le risque d'ouverture des droits de cette procédure stockée aux simples utilisateurs SQL.

  3. #3
    Membre éprouvé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Par défaut
    merci madinico d'accord avec toi mais cette procedure situé dans master je n'arrives pas à lui affecter cet utilisateur qui se trouve dans une autre base il n'est pas listé dans gerer les autorisations.... pour cette sp en fait pour tous les utilsateurs situé dans la bd.... Ce que je veux faire c'est à chaque connection d'un utilisateur (x) un message est envoyé aux autres utiisateurs les prévenant que (x) s'est connecté. Je l'ai fait avec l'utilisateur SA en creant deux connections une pour (x) et une pour SA mais je souhaiterais eviter SA car l'administrateur aura à se connecter avec...

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    Pour avoir l'utilisateur sur la procédure, il faut le rajouter à la liste des utilisateurs de la base de données sans lui affecter de privilèges important. Ensuite, il faut lui donner les droits d'exécution sur la procédure.

  5. #5
    Membre éprouvé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Par défaut
    les utilisateurs que j'ai creer dans la base de donnée n'apparaissent pas dans la base master et donc meme pour la sp en question. J'ai creer un utilisateur dans le dossier sécurité de sorte qu'il apparaissent dans master et lui attribué les droits d'executer la procedure. Je ne sais pas si je me trompe mais je crois qu'il est indispensable de creer un utilisateur special dans ce dossier lui donner certain droits pour executer certain sp de la base master et lorsqu'un simple utilisateur se connecte je connecter en meme temp cet utilisateur special pour effectuer certaines taches systeme et le deconnecter rapidement tout en laissant ce simple utilisateur travailler dans la bd.
    Peut-être qu'il y a mieux que ca ?

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    Je pense que le plus simple, dans ton cas, est d'utiliser des variables de sorties à ta procédure stockée et d'effectuer le traitement système dans ton soft. En effet, l'ouverture des droits à certaines procédures stockées systèmes n'étant pas recommandé dans les différents tutoriaux.

Discussions similaires

  1. [2012] Problème avec un trigger + xp_cmdshell + executable
    Par PHPkoala dans le forum Développement
    Réponses: 6
    Dernier message: 25/03/2015, 23h52
  2. echec d'execution d'un job
    Par vanesa dans le forum Administration
    Réponses: 6
    Dernier message: 26/02/2009, 12h11
  3. résultat de l'execution de tache planifiée:echec
    Par haykelFST dans le forum Développement
    Réponses: 1
    Dernier message: 11/01/2009, 22h09
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. Réponses: 2
    Dernier message: 17/03/2002, 19h00

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