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 :

Script shell - gestion user, touche entrée


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut Script shell - gestion user, touche entrée
    Bonjour à tous,

    Je voudrais faire un script permettant d’effectuer une commande de sauvegarde. Cette commande peut s’effectuer uniquement lorsque l’on est placé dans un compte précis. La solution serait qu’il y ait une condition des le début du script du genre :
    Ici, user = toto

    Si
    Connecté en tant que toto
    Faire la commande de sauvegarde

    Sinon
    Se connecter en tant que toto
    Demande de mot de passe : donc entrer mot de passe

    Faire la commande de sauvegarde

    Je découvre le shell et je demande votre aide pour la syntaxe (où met on les ; etc .. et voir quoi corriger). Pour ma part je vois ça comme ça :
    La commande de sauvegarde étant longue, je l’ai abrégé en un mot « save »

    If echo $USER == “toto”
    Then
    save ;
    Else
    Su toto;
    Demande de mot passe : indiquer xxx // comment faire ?
    Save ;

    fi

    Problème :
    Si l’utilisateur courant n’est pas toto, il faut qu’il se connecte en tant que toto mais normalement sous linux lorsque l’on change de user, une fois tapée « su user », le mot de passe est demandé. Je ne vois pas comment gérer cela via le script. Il s’agit d’une saisie clavier. De plus je voudrais savoir comment simuler la touche « entrée » ?

    Merci beaucoup de votre aide

    Cordialement,

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    en fait c est beaucoup plus simple que ça, le travail t est directement maché par 'su':

    le script est connect.sh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/sh
     
    if [ $USER = toto ]
    then echo "je save"
    else
    su toto
    connect.sh
    fi
    tu appelles ton script
    si tu n es pas toto le script appelle su toto et la commande su gère la frappe du mot de passe etc .. ensuite le script rappelle le meme script (recursivité) tant que le user n'est pas toto

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut
    Merci d'avoir répondu ashin.

    Je vais tester ta proposition.
    As tu une idée pour la touche entrée en script ?
    La commande de sauvegarde, une fois lancé, neccessite une saisie
    au clavier qui est la touche entrée.
    Comment peut on effectuer cela en via un script ?
    y a t il une ligne de code permettant de "simuler" la touche entrée ?

    Cordialement,

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    la c est plus compliqué je pense parce que si tu lances un programme pour sauvegarder, ton shell va attendre qu il finisse donc aucun moyen d'interférer avec ton programme.

    donc il faudrait le lancer en tache de fond, attendre qu il ait fini, envoyer la touche entrée.
    je ne t assure de rien sur ce coup là.


    envoie le code de ton programme de save si tu veux

  5. #5
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut
    la commande est celle ci : ontape -s -L 0 (zero)
    Il s'agit d'une commande de sauvegarde de base de donnée sous linux.
    Cela génère un fichier faisant 6 Giga.
    Une fois cette commande tapée, il est demandé de taper entrée. Si l'on ne fait, la sauvegarde ne s'effectue pas.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    joker

Discussions similaires

  1. Script shell création user Password
    Par debdarky dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 05/08/2013, 10h28
  2. Script shell: afficher le texte entre 2 bornes.
    Par panchan173 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 18/07/2012, 16h24
  3. script shell : comparer 2 répertoires entre eux
    Par Chicna dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 19/09/2011, 18h42
  4. script shell et arguments en entrée
    Par Lolitaaa dans le forum Linux
    Réponses: 7
    Dernier message: 03/07/2010, 11h17
  5. [Shell] Bash : script de gestion d'utilisateurs
    Par techafi dans le forum Linux
    Réponses: 1
    Dernier message: 14/03/2008, 22h13

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