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

Shell et commandes GNU Discussion :

Blocage script après `su'


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2015
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Blocage script après `su'
    Bonjour à tous,

    je suis actuellement en train de faire un script pour l'installation et la configuration d'un serveur Postgresql, mais voila mon soucis :

    Lors de l’exécution du script, je demandes à changer d'utilisateur, du coup, le script s'arrête. Avez vous une solutions pour ce soucis ?

    Voici mon script :

    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
    #!/bin/bash
    apt-get install postgresql postgresql-client-9.1 && apt-get install postgresql-9.1 postgresql-contrib-9.1
    read -p "Le serveur Postgresql est maintenant installé. Il faut re-démmarer le serveur, Appuyer sur une touche pour continuer ..."
    /etc/init.d/postgresql restart
    read -p "Nous allons rentrer dans la base Postgresql, créer la table zabbix et mettre zabbix en mot de passe, appuyer sur une touche pour continuer ..."
    su - postgres Le script se stop après cette ligne
    psql
    CREATE USER zabbix WITH PASSWORD 'zabbix';
    CREATE DATABASE zabbix OWNER zabbix;
    \q
    
    Sinon savez vous comment faire pour que le script fasse ceci : 
    psql
    CREATE USER zabbix WITH PASSWORD 'zabbix';
    CREATE DATABASE zabbix OWNER zabbix;
    \q

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour,

    su, comme toutes les commandes, rend la main quand il a fini. Et il devrait finir quand tu tapes "exit". Mais comme ton script ne tape pas "exit", il attend.

    La solution est d'utiliser sudo. Le principe: définir la liste des sudoers qui ont le droit de se faire passer pour un utilisateur pour une commande particulière et appeler la commande par un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo -u utilisateur commande
    Et pour psql, il faut lire le man.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    Bonjour,

    psql possède une option pour se connecter avec un utilisateur (rtfm), su semble donc inutile.

    ensuite, pour passer des commandes à psql, il faut utiliser un document en ligne (here-document) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    psql options <<eof
    command_1;
    command_2;
    eof
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. Blocage script après `su'
    Par jeron dans le forum Debian
    Réponses: 1
    Dernier message: 24/02/2015, 15h14
  2. Blocage script après une exécution
    Par Papy214 dans le forum NetBeans
    Réponses: 0
    Dernier message: 12/09/2014, 20h36
  3. Blocage script après inclusion classe MySQL
    Par Alomon dans le forum Langage
    Réponses: 10
    Dernier message: 15/09/2008, 09h16
  4. Réponses: 3
    Dernier message: 16/12/2005, 15h35
  5. blocage base après importation d'un module
    Par voodoo dans le forum Access
    Réponses: 3
    Dernier message: 13/10/2004, 15h15

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