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 :

introduire le mot de passe root dans un code JAVA


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut introduire le mot de passe root dans un code JAVA
    Salut à tous,

    J'ai une classe java, dans lequel j'exécute une instruction qui me permet d'écrire des commandes dans l'invite de commande ... le problème içi, c'est que je veut les exécuter comme en mode root ...

    Voiçi le code :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String[] cmd = { "/bin/sh", "-c","euca-add-keypair '"+Keyname_Fld.getText()+"' > '"+Keyname_Fld.getText()+"'.priv" };
                Process p = Runtime.getRuntime().exec(cmd);
     
                BufferedReader stdInput = new BufferedReader(new
                     InputStreamReader(p.getInputStream()));
     
                System.out.println("Here is the standard output of the command:\n");
                while ((s = stdInput.readLine()) != null) {
                    System.out.println(s);
                }

    ça marche pour le moment mais je veut le faire en tant que root, je ne sais pas comment faire pour introduire le mot de passe du compte root dans l'instruction!

    Merci pour votre aide !

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    Je voulais juste spécifier que je cherche une commande du genre RUNAS dans windows ... Je me demandes si cette commande marche aussi pour Linux !

  3. #3
    Membre chevronné
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Par défaut
    tu peux créer un script .sh que t'exécute, il te permet de te connecter en mode root puis de lancer ta commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/usr/bin/expect -f
     
    set force_conservative 1;
     
    spawn su -
    expect "password:\r"
    send -- "xxxxxxx\r"
    expect "$"
    send -- "cmd\r"
    a editer

    Sinon pour le runtime, ca pourrait bloquer parfois..je te conseille d'utiliser la librairie Shell

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    Merci pour votre réponse... mais pourriez vous m'expliquer de plus l'alternative de la librairie Shell !

    Sinon autre suggestions?

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    J'ai fait le script(scriptroot.sh) et j'ai essayé de l'exécuter mais j'ai eu cette erreur:

    bash: /home/user/scriptroot.sh : /usr/bin/expect : mauvais interpréteur: Aucun fichier ou dossier de ce type

    Que dois-je faire?

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    J'ai réussi à règler le problème précédent, mais cette fois j'ai ce message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    readlink: opérande manquante
    Pour en savoir davantage, faites: « readlink --help ».
    dirname: opérande manquante
    Pour en savoir davantage, faites: « dirname --help ».
    voiçi ma ligne de code complète:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String[] cmd = { "/bin/sh", "-c","cd /home/user; /home/user/eucarc; euca-add-keypair '"+Keyname_Fld.getText()+"' > '"+Keyname_Fld.getText()+"'.priv" };
    Avez vous une idée comment règler ça?

  7. #7
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Citation Envoyé par L'aigle de Carthage Voir le message
    Salut à tous,

    J'ai une classe java, dans lequel j'exécute une instruction qui me permet d'écrire des commandes dans l'invite de commande ... le problème içi, c'est que je veut les exécuter comme en mode root ...

    Voiçi le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String[] cmd = { "/bin/sh", "-c","euca-add-keypair '"+Keyname_Fld.getText()+"' > '"+Keyname_Fld.getText()+"'.priv" };
                Process p = Runtime.getRuntime().exec(cmd);
     
                BufferedReader stdInput = new BufferedReader(new
                     InputStreamReader(p.getInputStream()));
     
                System.out.println("Here is the standard output of the command:\n");
                while ((s = stdInput.readLine()) != null) {
                    System.out.println(s);
                }
    ça marche pour le moment mais je veut le faire en tant que root, je ne sais pas comment faire pour introduire le mot de passe du compte root dans l'instruction!

    Merci pour votre aide !
    insérer un password dans un code est une connerie conceptuellement
    à la limite créer un installeur à lancer sous root 1 seule fois, pour l'application, qui créer les entrées sudo nécessaires c'est déjà crade... mais c'est quand même bien moins pire.

    et surtout si le password root change, l'application fonctionnera toujours !!!!!!

Discussions similaires

  1. [XL-2010] Cacher mot de passe présent dans mon code
    Par Surinox dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/06/2015, 15h51
  2. Exécuter une instruction de root dans un code JAVA
    Par L'aigle de Carthage dans le forum Linux
    Réponses: 16
    Dernier message: 17/10/2011, 09h07
  3. introduire un mot de passe dans la ligne de code VBA
    Par bedoch dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/07/2009, 17h56
  4. récuperation de mot de passe crypté dans un code vbs
    Par tese84 dans le forum VBScript
    Réponses: 5
    Dernier message: 20/07/2009, 08h13
  5. mot de passe root dans application
    Par KalKul dans le forum Linux
    Réponses: 7
    Dernier message: 05/05/2007, 09h25

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