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 :

Script pour exécuter une commande


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur Sécurité et Réseau
    Inscrit en
    Mai 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur Sécurité et Réseau

    Informations forums :
    Inscription : Mai 2012
    Messages : 40
    Par défaut Script pour exécuter une commande
    Bonjour,

    Je m'explique sur ce titre obscur.

    Je réalise un script qui se connecte avec un utilisateur --> exécute l'instruction que je lui demande de réaliser --> puis se déconnecte.

    Voila ce que j'ai fait, mais qui ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    su zimbra
    zmprov md lecreusot.local zimbraAutoProvLastPolledTimestamp ''
    exi
    t

    Cela me connecte bien avec l'utilisateur zimbra mais c'est tous.

    Donc je me suis dit que si je faisais juste un fichier avec ma commande ça pouvait fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    zmprov md lecreusot.local zimbraAutoProvLastPolledTimestamp ''
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su zimbra -c ./timeStamp
    Mais là, il me demande un mot de passe alors qu'il n'y en a pas besoin.

    J'ai recherché comment passer outre cette demande, mais je n'ai pas trouvé de solution


    Quelqu'un pourrait m'aiguiller ?

    Merci

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Bonjour,

    pour le "su" qui bloque, c'est normal: il ouvre une session à part, si tu veux, et la fin de ton script ne s'exécutera que quand tu aura fini ton "su", ce qui n'arrive jamais puisque tu ne peux pas taper "exit".

    Pour le reste, pourquoi ne pas utiliser un sudo? Correctement configuré, il ne demandera pas de mot de passe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo -u zimbra ma_commande

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur Sécurité et Réseau
    Inscrit en
    Mai 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur Sécurité et Réseau

    Informations forums :
    Inscription : Mai 2012
    Messages : 40
    Par défaut
    Cette commande je souhaite la faire régulièrement donc le faire via cron
    j'ai modifié le fichier sudoers en ajoutant la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %zimbra   ALL=(ALL)     NOPASSWD: ALL
    et quand je fais la commande que tu ma donné cela me dit qu'il ne trouve pas la commande

    Pourtant quand je le fais manuellement sa fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    root@hdvlnxsr1:/# su zimbra
    zimbra@hdvlnxsr1:/$ zmprov md lecreusot.local zimbraAutoProvLastPolledTimestamp ''
    zimbra@hdvlnxsr1:/$

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Mets le chemin en absolu.

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par popps Voir le message
    Cette commande je souhaite la faire régulièrement donc le faire via cron
    Pourquoi alors ne pas mettre la commande zmprov md lecreusot.local zimbraAutoProvLastPolledTimestamp '' directement dans le cron de l'utilisateur zimbra ? Comme ça pas besoin de su ni de sudo !!!

    PS: zimbra il me semble que c'est aussi le nom du webmail de free. Il y a un rapport ???
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre averti
    Homme Profil pro
    Administrateur Sécurité et Réseau
    Inscrit en
    Mai 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur Sécurité et Réseau

    Informations forums :
    Inscription : Mai 2012
    Messages : 40
    Par défaut
    Ça a un rapport mais de loin ^^

    Je m'explique, je suis en stage et je dois mettre en place en plate-forme avec la solution de messagerie Zimbra Collaboration Suite. Je dois automatisé la création d'utilisateurs. Je je crée un utilisateur dans active directory le compte de messagerie doit se créer automatiquement.
    Mais voilà, j'ai un petit bug qui crée la première fois les utilisateurs (les comptes qui sont déja dans AD se voient attribués leur boite zimbra, jusque la pas de souci) quand je crée un nouvel utilisateur la ça ne fonctionne pas.

    Le paramétrage est bon sinon les 1er comptes n'auraient jamais été créé. La seule solution que j'ai trouvée pour l'instant et de réinitialisé le Time Stamp.

    Cron je ne me suis jamais penché vraiment dessus je sait juste que c'est le planificateur de tâche sous linux, et c'est vrais que je suis parti dans l'idée de faire un script sans vraiment regardé ce que Cron proposait.

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par popps Voir le message
    Cron je ne me suis jamais penché vraiment dessus je sait juste que c'est le planificateur de tâche sous linux, et c'est vrais que je suis parti dans l'idée de faire un script sans vraiment regardé ce que Cron proposait.
    Oui, c'est un planificateur de tâches. Mais chaque tâche planifiée par un user particulier sera alors exécuté par le système comme si c'était le user en question qui la lançait. Vu que ton sudo zimbra commande a lui-aussi pour but de lancer la commande sous le compte zimbra, je me dis que ça fait double emploi quoi...

    Te suffit de créer un fichier /var/spool/cron/crontabs/zimbra au format cron (tu recopies un autre existant) dans lequel tu planifies ta tâche puis tu fais un kill -HUP <pid_de_cron> pour que le cron recharge les fichiers des tâches des différents utilisateurs..
    Généralement quand un user crée un cron pour lui il lui suffit de taper crontab -e ce qui fait automatiquement tout ce qui est ci-dessus mais si t'as pas accès à l'utilisateur zimbra la méthode précédente marche aussi.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/11/2010, 15h16
  2. code en c# pour exécuter une commande dos en arrière plan
    Par GhostMoon dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/03/2010, 09h48
  3. Réponses: 3
    Dernier message: 25/09/2009, 11h48
  4. Fichier BATCH pour exécuter une commande (Wake on LAN)
    Par snoopy69 dans le forum Windows XP
    Réponses: 0
    Dernier message: 23/04/2008, 07h14
  5. Script pour créer une commande de suppression de fichiers
    Par romain.1105 dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 10/12/2006, 02h28

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