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

Administration système Discussion :

Execution de sudo, problème de mot de passe


Sujet :

Administration système

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 139
    Points : 40
    Points
    40
    Par défaut Execution de sudo, problème de mot de passe
    Bonjour
    je cherche a partir dun compte user d'executer un programme shell
    pour cela je fais sudo -u root -S /slapd-stop
    il me demande le mot de passe, je le rentre mais il me met que cela n'est pas bon, alors que j'arrive a me connecter en root avec ce meme mot de passe.
    Que se passe t'il?

  2. #2
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 139
    Points : 40
    Points
    40
    Par défaut
    Personne n'a une petite idee?

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    ta syntaxe dans le fichier /etc/sudoers (a editer avec la commande visudo) ressemble à quoi.
    dans ton exemple :
    sudo -u root -S /slapd-stop
    je ne comprend pas ?
    ne serais pas
    sudo -S -u root /slapd-stop ?
    Marc
    Slackware for ever ......
    BASH - KSH ( http://marcg.developpez.com/ksh/ )

  4. #4
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 139
    Points : 40
    Points
    40
    Par défaut
    les deux commandes que tu me donnes font le meme resultat.
    Avec un compte user cette commande me demande un mot de passe, je pensais que c'etaiut celui de root mais celui ne fonctionne pas, alors qu'en mode root j'arrive a lancer cette commande sans pb

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Avant de pouvoir utiliser sudo, il faut le configurer : le fait qu'il demande le mot de passe est symptomatique de 2 choses :
    1. sudo non ou mal configure
    2. commande a executer par sudo mal écrite. Typiquement, dans /etc/sudoers, tu as autorise la commande "/usr/local/bin/toto.sh" (chemin complet) et tu appelles sudo en tapant simplement "sudo -u root toto.sh" : sudo connait "/usr/local/bin/toto.sh" et pas "toto.sh".

    Fais "sudo -l" pour afficher les commandes que sudo t'autorise a executer.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  6. #6
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 139
    Points : 40
    Points
    40
    Par défaut
    voici le sudoers


    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    # sudoers file.
    #
    # This file MUST be edited with the 'visudo' command as root.
    #
    # See the sudoers man page for the details on how to write a sudoers file.
    #
     
    # Host alias specification
     
    # User alias specification
     
    # Cmnd alias specification
     
    # Defaults specification
     
    # User privilege specification
    root	ALL=(ALL) ALL
     
    # Uncomment to allow people in group wheel to run all commands
    # %wheel	ALL=(ALL)	ALL
     
    # Same thing without a password
    # %wheel	ALL=(ALL)	NOPASSWD: ALL
     
    # Samples
    # %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
    # %users  localhost=/sbin/shutdown -h now

  7. #7
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 139
    Points : 40
    Points
    40
    Par défaut
    Voila ce que cela me met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sudo -l
    User root may run the following commands on this host:
        (ALL) ALL
    Je précise que en root je lance la commande, c'est lorque je suis user simple et je veux le faire par root (demande de mot de passe) que je n'y arrive pas.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 376
    Points : 402
    Points
    402
    Par défaut
    Juste une précision, C'est le mot de passe de ton user que sudo attend ! Pas le mot de passe root !

    Il faut en plus que ton user est été défini dans le fichier /etc/sudoers !!

    Sinon du peux toujours utiliser su root -c "tacommande" pour la lancer (cette fois c'est le mot de passe root qu'il faut mettre) !!!
    "There are two major products that come out of Berkeley: LSD and UNIX.
    We don't believe this to be a coincidence."
    - Jeremy S. Anderson

    La FAQ Python
    Les cours et tutoriels pour apprendre Python
    Le Forum Python

  9. #9
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Sudo n'est pas configuré : il faut que tu dises quelles commandes quel utilisateur peut exécuter et avec quels contrôles de sécurité. Pour une config exécuter une commande en tant que root sans demander de mot de passe, edite le fichier /etc/sudoers en root et ajoute ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    user_simple ALL = (root)   NOPASSWD: /usr/local/bin/toto.sh
    fais un man sudoers pour avec des infos sur la syntaxe de ce fichier.

    Par défaut, sudo autorise toutes les commandes que root veut exécuter. C'est le sens de la ligne "root ALL=(ALL) ALL".

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  10. #10
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 139
    Points : 40
    Points
    40
    Par défaut
    J'ai mis ca est ce que c'est bon?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %users  ALL=(root)   NOPASSWD: /usr/sun/directoryServer/stop-slapd

  11. #11
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    tout depend de ce que tu veu faire :
    la tout les user du group users depuis toute machine peuvent prendre le root pour executer la comménde que tu site.
    a condition que la commande sudo contienne l'exacte comande soit :
    /usr/sun/directoryServer/stop-slapd
    Marc
    Slackware for ever ......
    BASH - KSH ( http://marcg.developpez.com/ksh/ )

  12. #12
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 139
    Points : 40
    Points
    40
    Par défaut
    Cela ne fonctionne pas
    En user simple je n'arrive pas a executer cette commande sans qu'il me demande un pwd.
    La commande stop-slapd se trouve bien a cette endroit
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    # sudoers file.
    #
    # This file MUST be edited with the 'visudo' command as root.
    #
    # See the sudoers man page for the details on how to write a sudoers file.
    #
     
    # Host alias specification
     
    # User alias specification
     
    # Cmnd alias specification
     
    # Defaults specification
     
    # User privilege specification
    root	ALL=(ALL) ALL
     
    # Uncomment to allow people in group wheel to run all commands
    # %wheel	ALL=(ALL)	ALL
     
    # Same thing without a password
    # %wheel	ALL=(ALL)	NOPASSWD: ALL
    %users	ALL=(root)	NOPASSWD:	/usr/sun/directoryServer//stop-slapd
     
    # Samples
    # %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
    # %users  localhost=/sbin/shutdown -h now

  13. #13
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Que raconte sudo ? Toujours la même erreur ou ça a changé ?

    Le double / est volontaire ? Un fois de plus, si dans sudo, tu mets "/usr/sun/directoryServer//stop-slapd", il faut appeler sudo avec "/usr/sun/directoryServer//stop-slapd".

    Question idiote : ton utilisateur est bien membre du groupe users ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  14. #14
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 139
    Points : 40
    Points
    40
    Par défaut
    En fait le // est une erreur de ma part
    Par contre ce que je veux faire en fait c'est autoriser une JSP (serveur web webservd) à executer un shell.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    www	webservd=NOPASSWD:	/usr/sun/stop-slapd
    Donc je dois faire un sudo pour webservd et pour le prog /stop-slapd
    comment dois je faire pour mettre cela dans sudoers?

    j'ai fait ca mais sans succes:
    quand je fais sudo -u www /.../stop-slapd
    j'ai sudo: no passwd entry for www
    ...

  15. #15
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    le -u de sudo te sert à désigner l'utilisateur cible. Pour exécuter ce que tu veux, tu te connectes avec l'utilisateur www, et tu fais sudo -u root /usr/sun/stop-slapd.

    Sinon, a vu de nez, ta conf me semble incorrecte : tu ne dis pas en tant que quel utilisateur www peut exécuter la commande stop-slapd.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  16. #16
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 139
    Points : 40
    Points
    40
    Par défaut
    Ta remarque sur la commande sudo -u root ... quand je suis en webservd ne fonctionne pas car j'ai la demande d'un pwd.

    j'ai mon user (serveur web) qui est webservd
    je voudrais le configurer dans sudo pour qu'il execute /.../stop-slapd sans password, comment je fais ?

  17. #17
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 139
    Points : 40
    Points
    40
    Par défaut
    J'avance mais je reviens un peu au debut,

    Voici mon sudoers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # User alias specification
    User_Alias	WWW=webservd
    # Cmnd alias specification
    Cmnd_Alias LDAP=/usr/sun/stop-slapd, /usr/sun/start-slapd, /usr/sun/bak2db
    WWW	ALL=(ALL)	NOPASSWD:	LDAP
    je fais un sudo -u webservd /.../stop-slapd

    et j'ai un message d'erreur :
    No ns-slapd PID file found.


    Cela vient de la commande stop-slapd (donc j'arrive a executer) il n'arrive pas faire un cat d'un fichier...
    Dois je mettre d'autre commande dans le sudoers?

  18. #18
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    L'erreur que tu as maintenant ne vient pas forcément directement de sudo : où se trouve le fichier ns-slapd ? Il faut savoir que sudo, lorsqu'il execute une commande, ne va pas "sourcer" le .profile de l'utilisateur cible. Du coup, tu te retrouve peut-être avec un environnement incomplet (i.e. il manque des variables d'environnement).

    Pour bien faire, essaie d'écrire un script shell qui :
    1. Source le fichier .profile (. $HOME/.profile) ou complète le PATH
    2. Appelle start-slapd

    Ensuite, corrige sudo pour que ton alias LDAP pointe vers ce nouveau script plutot que start-slapd.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  19. #19
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 139
    Points : 40
    Points
    40
    Par défaut
    c'est bon j'ai reussi


    Voici mon sudoers pour ceux que ca interesse:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    # sudoers file.
    #
    # This file MUST be edited with the 'visudo' command as root.
    #
    # See the sudoers man page for the details on how to write a sudoers file.
    #
     
    # Host alias specification
     
    # User alias specification
    User_Alias	WWW=webservd
    # Cmnd alias specification
    Cmnd_Alias LDAP=/usr/sun/stop-slapd, /usr/sun/start-slapd, /usr/sun//bak2db
     
    # Defaults specification
     
    # User privilege specification
    root	ALL=(ALL) ALL
     
    # Uncomment to allow people in group wheel to run all commands
    # %wheel	ALL=(ALL)	ALL
     
    # Same thing without a password
    # %wheel	ALL=(ALL)	NOPASSWD: ALL
    WWW	ALL=(ALL)	NOPASSWD:	LDAP
    # Samples
    # %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
    # %users  localhost=/sbin/shutdown -h now
    et quand je suis en webservd je fais sudo -u root 'ma commande'


    Merci a tous

  20. #20
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est quoi la différence ? Pourquoi ça marche maintenant ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Executer Batch en tant qu'Admin AVEC MOT DE PASSE
    Par nc13160 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 18/06/2012, 13h17
  2. Sudo su n'accepte pas mon mot de pass super user
    Par clubinfo dans le forum Distributions
    Réponses: 4
    Dernier message: 22/12/2010, 12h20
  3. activer l'execution par mot de passe
    Par lebeniste dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 20/03/2009, 20h53
  4. [UBUNTU] Mot de passe sudo
    Par Marco85 dans le forum Ubuntu
    Réponses: 13
    Dernier message: 11/10/2007, 18h15
  5. Réponses: 1
    Dernier message: 01/05/2007, 16h18

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