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

Apache Discussion :

Exécution Script avec Root sous Apache2


Sujet :

Apache

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Exécution Script avec Root sous Apache2
    Bonjour à tous,

    J’essaye depuis déjà pas mal de temps d'ajouter une exception de privilège pour l'utilisateur apache2 à savoir www-data afin de pouvoir dans un script PHP exécuter un autre script python nécessitant d'être en Root :

    Mon script PHP :

    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
     
    <?php
            session_start();
            if(isset($_SESSION['confirm']))
            {
                if(isset($_GET['action'])=='open')
                {
                    system('sudo python /home/door/UP455.py');
                }
                else
                {
                    system('sudo python /home/door/UP456.py');
                } 
                ?>
                <div id="principal">
                    <a href="admin.php?action=open">OPEN</a><a href="admin.php?action=close">CLOSE</a>
                </div>  
            <?php
            }
            else
            {
                header('Location: index.php');
            }
            ?>
    Grâce à la commande en root "visudo", j'ai rajouté la ligne :
    "www-data ALL=NOPASSWD: /home/door/UP455.py"

    Comme ci-dessous dans le fichier 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
    28
    29
    30
     
    #
    # This file MUST be edited with the 'visudo' command as root.
    #
    # Please consider adding local content in /etc/sudoers.d/ instead of
    # directly modifying this file.
    #
    # See the man page for details on how to write a sudoers file.
    #
    Defaults    env_reset
    Defaults    mail_badpass
    Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
     
    # Host alias specification
     
    # User alias specification
     
    # Cmnd alias specification
     
    # User privilege specification
    root    ALL=(ALL:ALL) ALL
    www-data ALL=NOPASSWD: /home/door/UP455.py
     
    # Allow members of group sudo to execute any command
    %sudo   ALL=(ALL:ALL) ALL
     
    # See sudoers(5) for more information on "#include" directives:
     
    #includedir /etc/sudoers.d
    pi ALL=(ALL) NOPASSWD: ALL
    Cepandant rien n'y fait, je retrouve toujours dans mes logs Apache2 aprés l’exécution PHP :

    soit, ci je ne spécifie pas d'utilisateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo: no tty present and no askpass program specified
    Ou alors avec dans php, si www-data est spécifié voici le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    FILE "home/door/UP455.py",line9, in <module>
     
           GPIO.setup(GPIO_RELAY, GPIO.OUT)
     
    RuntimeError : No access to /dev/mem. Try running as Root !
     
    Sorry, user www-data is not allowed to execute /home/door/UP455.py
    Merci d'avance de vos réponses,

    Sachant que le Script Python à la base marche très bien.

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Pas d'idée ? Sachant que je viens de vérifier dans httpd.conf, l'Username d'Apache2 est bien www-data.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci Bien.
    Voila les raisons du soucis :

    Dans notre fichier sudoers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1
     
    www-data ALL=NOPASSWD:/usr/bin/python /home/door/Up455.py
    Dans notre fichier php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1
     
    system('/usr/bin/sudo /usr/bin/python /home/door/UP455.py');
    J'ai utilisé les chemins absolus des commandes sudo et python tels qu'ils étaient chez moi.
    En gros voila

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

Discussions similaires

  1. Exécuter script avec pushbutton
    Par deyvidpi dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 02/11/2014, 10h05
  2. [EasyPHP] Exécuter script genre cron sous windows en local
    Par nathalie16 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 01/11/2010, 13h18
  3. Erreur exécution script avec sqlplus
    Par BaronSamdi dans le forum Sql*Plus
    Réponses: 8
    Dernier message: 25/05/2010, 10h23
  4. [phpMyAdmin] pb d'accès à la base de donnée avec root sous phpMyAdmin
    Par jeinny dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 22/05/2009, 16h21
  5. [SHELL] Problème d'exécution script avec Crontab
    Par Leeloo_Multiboot dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 05/06/2008, 16h59

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