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

Linux Discussion :

Lancer un script en su appellé par un script non su


Sujet :

Linux

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 84
    Par défaut Lancer un script en su appellé par un script non su
    bonjours,

    mon probleme est le suivant :

    j'ai un gros script qui fait plein de trucs et qui ne DOIT PAS être lancer en su car il se base sur tout plein de variables d'environement locals : le scriptA.

    Seulement j'aimerai lancer, de ce scriptA, un scipt sql en su - oracle : le scriptB.
    Et la : patatra ! Quand la commande su -oracle est appelé, ça me connecte en su - oracle (jusque la c'est normal) mais ça n'appel pas mon scriptB.

    En fait il se connecte en oracle et quand je quitte la session oracle il revient à l'exécution de mon scriptA, qui appel le scriptB, qui plante car il n'est pas executé en su - oracle.

    je ne sais pas comment résoudre ce problème épineux :s
    (la commande "su - oracle -c scriptB" ne marche pas mieux )

    Avez vous des idées ou des pistes vers lesquels je pourrai m'orienter ?

    Cordialement

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    Bonjour,

    as-tu essayé à la main ?
    l'utilisateur oracle a-t-il des droits sur le scriptB ?

    Y a-t-il un message d'erreur ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 84
    Par défaut
    Oui à la main il n'y a pas de problème.

    mais l'idée est d'automatiser tous les traitements fait unitairement à la main en un seul script (le scriptA).

    Ors parmis tous ces traitements, il faut lancer 3 scripts en mode su - oracle.
    Du coup la solution est de les lancer à la main mais c'est domage de ne pas pouvoir tout faire d'un coup dans le même script.

    Je pensai que la commande su -c pourrait me sortir de la mais ... en fait nan

    Et je n'ai pas vraiment de message d'erreur c'est juste que quand je passe en oracle, je perd la main sur le scriptA jusqu'à ce que ma connection à la session su - oracle se termine, et ce n'est donc que après que le scriptB est appelé (donc "insufisient privilege" par ce que je ne suis plus en su - oracle).

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut


    je fais un test tout simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/bin/bash
     
    su - autre_user -c 'script_sans_droits_pour_moi; echo $PWD'
    il demande le mot de passe de autre_user
    affiche le résultat de script_sans_droits_pour_moi
    affiche /home/autre_user

    donc, ça devrait fonctionner.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre éclairé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Par défaut
    ouep,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    root@supercopter:~# su vador -c "echo je suis ton pere"
    je suis ton pere
    su - c permet à root d'executer une commande avec les droits d'un autre user
    a+

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/11/2007, 13h52
  2. Réponses: 4
    Dernier message: 28/12/2006, 18h42
  3. Modifier un son appelé par Action Script
    Par Imperator34 dans le forum Flash
    Réponses: 3
    Dernier message: 26/10/2006, 05h46
  4. Script dans une page à part et l'appeler par un lien
    Par kent151 dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 22/04/2006, 18h59

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