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

Solaris Discussion :

Comment passer le mot de passe en paramètre à la commande "su - user -c"


Sujet :

Solaris

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2011
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Comment passer le mot de passe en paramètre à la commande "su - user -c"
    Chers tous;
    J'ai un sérieux problème et je ne trouve nulle par sur la toile un début de solution.
    Voila, j'écris un script Shell qui à un moment donnée récupère une liste d'imprimante, fait des test et connecte le compte qui a le rôle d'impression pour les redémarre
    (y'en a un peu plus d'une centaine).
    Je suis en environnement UNIX.
    Donc à un moment du code j'ai ceci:

    su - cptrole -c "disable $fic;enable $fic"

    Seulement voilà j'ai le prompt me demandant le mot de passe pour chaque imprimante. Ce n'est vraiment pas le but.
    L'objectif étant justement d'automatiser cette tache.

    Pourriez vous m'indiquer comment passer mon mot de passe automatiquement à mon script.

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

    Informations forums :
    Inscription : septembre 2005
    Messages : 4 806
    Points : 12 072
    Points
    12 072
    Par défaut
    Bonjour,

    les pages de manuel sont très claires:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su - Changer d'identifiant d'utilisateur ou devenir superutilisateur
    Ce n'est pas ce que tu cherches. Toi, tu veux sudo.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo, sudoedit — execute a command as another user
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2011
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Bonsoir Flodelarab et merci de ton retour.
    Cependant il me semble que la commande sudo n'existe pas sous unix (je suis sous solaris et j'ai le message command not found).
    En fait comme tu le dis, su - me permet de changer d'identifiant sans mon script. Mais à l'exécution suis pas censé être présent et le srcipt attend évidemment un mot de passe.

    Je cherche un moyen de passer ce mot de passe en paramètre

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2011
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Bonjour,

    les pages de manuel sont très claires:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su - Changer d'identifiant d'utilisateur ou devenir superutilisateur
    Ce n'est pas ce que tu cherches. Toi, tu veux sudo.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo, sudoedit — execute a command as another user


    Bonsoir Flodelarab et merci de ton retour.
    Cependant il me semble que la commande sudo n'existe pas sous unix (je suis sous solaris et j'ai le message command not found).
    En fait comme tu le dis, su - me permet de changer d'identifiant sans mon script. Mais à l'exécution suis pas censé être présent et le srcipt attend évidemment un mot de passe.

    Je cherche un moyen de passer ce mot de passe en paramètre

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2011
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par blaky Voir le message
    Bonsoir Flodelarab et merci de ton retour.
    Cependant il me semble que la commande sudo n'existe pas sous unix (je suis sous solaris et j'ai le message command not found).
    En fait comme tu le dis, su - me permet de changer d'identifiant sans mon script. Mais à l'exécution suis pas censé être présent et le srcipt attend évidemment un mot de passe.

    Je cherche un moyen de passer ce mot de passe en paramètre

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

    Informations forums :
    Inscription : septembre 2005
    Messages : 4 806
    Points : 12 072
    Points
    12 072
    Par défaut
    Citation Envoyé par Wikipedia
    sudo (abréviation de substitute user do, en anglais : « exécuter en se substituant à l'utilisateur ») est une commande informatique utilisée principalement dans les systèmes d'exploitation de type Unix.
    (...)
    sudo est disponible sans être installé par défaut sur la plupart des systèmes Unix : BSD, Sun Solaris, Linux, etc.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  7. #7
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 2 695
    Points : 7 880
    Points
    7 880
    Par défaut
    Vérifie d'abord que sudo n'est pas installé dans un répertoire absent de ton PATH, genre /usr/gnu/bin, /usr/sfw/bin, /usr/local/bin ou autre.

    Sinon, il n'est pas possible (simplement) de passer un mot de passe à "su" car pour des raisons de sécurité, il ouvre /dev/tty pour dialoguer avec l'utilisateur.

    Une façon de contourner le problème peut consister à configurer ssh pour que cptrole accepte un login sans mot de passe à partir de ton compte. Il faut pour cela créer une clef publique/privée dans ton .ssh si ce n'est pas déjà fait, puis ajouter la clef publique dans le .ssh/authorized_keys de l'utilisateur cible.

    Ensuite, la commande à lancer serait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ssh cptrole@localhost "disable $fic;enable $fic"
    ɹǝsn *sıɹɐlos*

  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2011
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par jlliagre Voir le message
    Vérifie d'abord que sudo n'est pas installé dans un répertoire absent de ton PATH, genre /usr/gnu/bin, /usr/sfw/bin, /usr/local/bin ou autre.

    Sinon, il n'est pas possible (simplement) de passer un mot de passe à "su" car pour des raisons de sécurité, il ouvre /dev/tty pour dialoguer avec l'utilisateur.

    Une façon de contourner le problème peut consister à configurer ssh pour que cptrole accepte un login sans mot de passe à partir de ton compte. Il faut pour cela créer une clef publique/privée dans ton .ssh si ce n'est pas déjà fait, puis ajouter la clef publique dans le .ssh/authorized_keys de l'utilisateur cible.

    Ensuite, la commande à lancer serait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ssh cptrole@localhost "disable $fic;enable $fic"

    Bonsoir jlliagre;
    bien reçu. Je vois que finalement le problème n'était pas aussi simple que cela.
    Je vais essayer toutes les vois que vous m'avez conseillé et je vous fait un retour.
    merci pour votre disponibilité à tous.

  9. #9
    Candidat au Club
    Homme Profil pro
    Inscrit en
    septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2011
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par blaky Voir le message
    Bonsoir jlliagre;
    bien reçu. Je vois que finalement le problème n'était pas aussi simple que cela.
    Je vais essayer toutes les vois que vous m'avez conseillé et je vous fait un retour.
    merci pour votre disponibilité à tous.
    Bonsoir à tous.
    Donc voilà:
    j'ai beau regardé il semble que la commande sudo ne soit pas implémenté sur notre système. Même en tapant type sudo cela ne me ramène rien.

    Aussi dans mon répertoire .ssh, il n'existe aucun fichier. Et je n'ai pas su comment crée la clé dont parlait jlliagre. Je vous avoue que je suis pas un as en Shell.

    Pour le compte cptrole n'a pas de répertoire .ssh.

    Je précise que ce compte avait été créer juste pour les tache d'impression.

    Pour résumer j'ai tenté tant bien que mal de mettre en œuvre vos recommandations en vain. Et à défaut d'effectuer d'autres recherches sur la toiles j'ai jugé qu'il était mieux indiqué de me tourner vers vous.
    Depuis le temps que je cherche, c'est ici que j'ai vraiment eu une ébauche de solution.




    Bonsoir jlliagre, j'ai trouvé comment configurer la connexion par clé publique/privée en suivant ce tuto: http://www-inf.it-sudparis.eu/cours/...b/9.63.21.html

    Cependant au moment de la connexion j'ai le message Connection closed by localhost. En fait le système est configuré pour ne pas autoriser ce type de connexion (ssh). Donc cela me ramène à la case départ. Sauf si je réussi à convaincre mon admin système de levée ce verrou. ce qui m'étonnerais fort.

  10. #10
    Candidat au Club
    Homme Profil pro
    Inscrit en
    septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2011
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par blaky Voir le message
    Bonsoir à tous.
    Donc voilà:
    j'ai beau regardé il semble que la commande sudo ne soit pas implémenté sur notre système. Même en tapant type sudo cela ne me ramène rien.

    Aussi dans mon répertoire .ssh, il n'existe aucun fichier. Et je n'ai pas su comment crée la clé dont parlait jlliagre. Je vous avoue que je suis pas un as en Shell.

    Pour le compte cptrole n'a pas de répertoire .ssh.

    Je précise que ce compte avait été créer juste pour les tache d'impression.

    Pour résumer j'ai tenté tant bien que mal de mettre en œuvre vos recommandations en vain. Et à défaut d'effectuer d'autres recherches sur la toiles j'ai jugé qu'il était mieux indiqué de me tourner vers vous.
    Depuis le temps que je cherche, c'est ici que j'ai vraiment eu une ébauche de solution.




    Bonsoir jlliagre, j'ai trouvé comment configurer la connexion par clé publique/privée en suivant ce tuto: http://www-inf.it-sudparis.eu/cours/...b/9.63.21.html

    Cependant au moment de la connexion j'ai le message Connection closed by localhost. En fait le système est configuré pour ne pas autoriser ce type de connexion (ssh). Donc cela me ramène à la case départ. Sauf si je réussi à convaincre mon admin système de levée ce verrou. ce qui m'étonnerais fort.

    Bonsoir à tous
    J'aimerais vous remercier tous pour votre aide.
    J'ai finalement obtenu que le programme en question sois exécuté directement dans la crontab du compte cptrole.
    Du coup plus besoin du su.
    Aussi je tient à souligner que la méthode ssh marche aussi nikel si le compte peut avoir l'autorisation d'un accès ssh.
    Bien de choses à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/10/2007, 16h22
  2. Réponses: 3
    Dernier message: 21/11/2006, 15h17
  3. Réponses: 5
    Dernier message: 17/12/2004, 09h25
  4. Comment cacher un mot de passe ?
    Par benxitd dans le forum Windows
    Réponses: 2
    Dernier message: 02/12/2004, 10h59
  5. Comment changer le mot de passe sous Interbase
    Par ETOKA dans le forum InterBase
    Réponses: 3
    Dernier message: 05/08/2004, 11h25

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