[resolu] droit acces pour programme php

Parce qu'il en faut pour tout le monde, discutez ici d'ADA, de shell et autres Wolfram...

Modérateur : Francois

Répondre
guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

[resolu] droit acces pour programme php

Message par guillaume9344 » dim. 3 mai 2015 19:14

Bonjour, j ai créé un programme en c "nrf24l01" pour interagir avec un nrf24l01, ca fonctionne trés bien en consol.
j 'ai mis le fichier issue de la compilation dans le dossier usr\local\bin pour pouvoir l 'appeler de n 'importe où, j'ai également débloqué tous les droit(chmod 777)
Pour pouvoir y accéder depuis une page en php j' écrit la commande exec( "nrf24l01") sans réussite.
mais dans le log de apache, j 'ai l erreur suivante: unable to open \dev\mem : permission denied.
j'ai également créé un fichier dans etc\sudoers.d avec à l intérieur :
www-data ALL=(ALL) NOPASSWD:ALL (si j 'ai bien compris ca ouvre tous les droits sans mot de passe à l 'utilisateur www, bon ca crée un problème de sécurité mais j affinerais ca plus tard).

je pense que c'est un problème de droits pour lancer un programme depuis php , mais là je patauge totalement dans ces histoires de droits.
si vous avez des pistes pour attribuer des droits.....
a votre bon cœur messieurs dames

@+
Modifié en dernier par guillaume9344 le mar. 5 mai 2015 12:45, modifié 1 fois.
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

Korhm
Raspinaute
Messages : 219
Enregistré le : ven. 19 sept. 2014 08:13
Localisation : Val de Marne

Re: droit acces pour programme php

Message par Korhm » lun. 4 mai 2015 14:14

Bonjour,

Il faut que tu lances la commande avec sudo pour que l'édition du fichier des sudoers ai un intérêt
exec( "nrf24l01") => exécute la commande en tant que www-data sans autre droits que les siens
exec( "sudo nrf24l01") => exécute la commande en tant que www-data, et en lui accordant des droits plus important (avec notamment l''accès a /dev/mem que nécessite ton programme nrf24l01

Tu as peut-être déjà testé ce point mais ce n'est pas précisé dans ton post.

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: droit acces pour programme php

Message par guillaume9344 » lun. 4 mai 2015 18:08

CQFD
c'est bien ça , d'autant plus que en local j'appelai le programme avec sudo ..........
Comme quoi au bout de plusieurs heures la tete dans les codes , on voit plus rien, et j 'avai testé aussi avec sudo mais avant de modifier les fichiers sudoers.
Par contre maintenant pour le fichier de config sudoers, au lieu de www-data ALL=(ALL) NOPASSWD:ALL , par quoi je remplace all , par le chemin de dev\mem ou par le chemin de nrf24l01?

@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

domi
Administrateur
Messages : 2255
Enregistré le : mer. 17 sept. 2014 18:12
Localisation : Seine et Marne

Re: droit acces pour programme php

Message par domi » lun. 4 mai 2015 18:17

Salut guillaume,

Comme je suis fainéant ;-)
Je vais te donner un lien vers un Post ou j'expliquais comment faire, tu as juste à changer les chemins.

En Bref, tu crées un Alias des commandes autorisées, puis tu informes que www-data à droit d'exécuter les commandes de ton Alias avec Sudo.

Voir le post : viewtopic.php?f=71&t=285&start=20#p4634

Je suis certain que tu t'en sortiras avec ces explications ;)

Répondre

Retourner vers « Autres langages »