Uitvoeren van .c code via php

Pagina: 1
Acties:

  • bibawa
  • Registratie: Augustus 2005
  • Laatst online: 13-04-2008
Hallo,

Ik heb hierover al een topic lopen [rml]bibawa in "[ php] Shell exec met parameters"[/rml], maar men heeft me daar gezegd om het hier even te vragen .

Het probleem is het volgende:

Ik probeer via php code een .c programma uit te voeren onder linux (gentoo) waarmee ik de parallele poort van mijn computer kan aansturen.
Met mijn .c programma is niets mis als ik het uitvoer rechtstreeks op de commandline via ./kern dan doet het ding perfect wat ik ervan verwacht dat het doe.

Wanneer ik nu echter de .c code via php wil laten uitvoere dmv shell_exec('./kern'); dan loopt het mis er gebeurt helemaal niets, ik krijg totaal niets van errors, warnings etc.. er gebeurd gewooon niets.

Nu heb ik bijde bestande (aansturing.php en kern) ge-chmod naar 777 om er zeker van te zijn dat ik alle rechten heb op beide bestanden, voor de .c code uit te voeren heb je namellijk root rechten nodig.

Wanneer ik nu ls -l doe in de betrekkellijke dir dan zie ik dat kern wordt uitgevoerd onder user root van de groep root (wat perfect is) en dat aansturing.php wordt uitgevoerd onder de user ftpgebruiker van de groep ftpgroep.

Wat ik nu denk (en stilaan hoop) dat het probleem is is dat het php script onvoldoende rechten heeft om de .c te executen. Maar hoe verander ik op een bepaalde .php de gebruiker en de groep (ik zou hem dan veranderen naar root - root).

Andere ideeen , voorstellen zijn altijd welkom! (ik ken nu niet super veel van linux af maar wel een beetje dus geen hooggeleerde linux taal ;))

  • IceM
  • Registratie: Juni 2003
  • Laatst online: 07:29
Dat een bestand als eigenaar root heeft van groep root betekend echt niet dat deze uitgevoerd wordt als root. Het bestand wordt uitgevoerd door de apache user, niet door root (als het goed is, apache als root runnen is niet slim).

...


  • bibawa
  • Registratie: Augustus 2005
  • Laatst online: 13-04-2008
Hoe kan ik zien onder welke user apache wordt gerund?

Het is misschien niet slim, maar de server staat niet in verbinding met het internet ofzo is enkel intern dus maakt eigenllijk geen jota uit, ik zou hem eens graag starten als root toch . Want in die richting moet ik mijn probleem gaan zoeken denk ik.

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 06-02 10:15

DataGhost

iPL dev

je zou eens kunnen googlen naar setuid root
zorg er verder ook voor dat je programma _ALTIJD_ iets output, dan kan je daarmee debuggen (en dus zien of het uberhaupt uitgevoerd wordt) en check je php config... probeer ook eens een absoluut pad te gebruiken ipv een relatief

  • mithras
  • Registratie: Maart 2003
  • Niet online
Apache draait onder de user 'apachewww-data' O-) tnx daft_dutch Maar het is niet slim, ook al kan niemand er bij, behalve jezelf, en staat hij niet in verbinding met het internet. Apache alle root-rechten geven is niet echt een optie zou ik zeggen, maar eerder de opties van T-MOB:
T-MOB schreef op dinsdag 04 april 2006 @ 00.35
  1. Je past de totale configuratie aan om de root restrictie op te heffen (imho het slechtste plan)
  2. Je maakt de executable SUID root. Hierdoor wordt het programma altijd als root uitgevoerd, ongeacht welke user het aanroept.
  3. Je gebruikt sudo om een normale user (in dit geval de apache user) het programma met root privileges te laten uitvoeren.
Dat heeft hij al gedaan, zie zijn vorige topic
probeer ook eens een absoluut pad te gebruiken ipv een relatief
En dat maakte niet zozeer uit, aangezien het script in de map wordt gedraaid waar de php-file ook staat. Dit is ook al gedaan.

[ Voor 26% gewijzigd door mithras op 04-04-2006 15:02 ]


  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 06-02 10:15

DataGhost

iPL dev

Mithras86 schreef op dinsdag 04 april 2006 @ 12:40:
[...]
Dat heeft hij al gedaan, zie zijn vorige topic
Ik heb vrij weinig met zijn vorige topic te maken, nieuw topic == nieuwe topicstart, en daar moet hij alsnog alles in zetten wat hij al heeft geprobeerd, wat niet werkt, etc.
Ik ga er dus vanuit dat de informatie die in zijn TS staat alle informatie is die er is.

[ Voor 12% gewijzigd door DataGhost op 04-04-2006 12:52 ]


  • bibawa
  • Registratie: Augustus 2005
  • Laatst online: 13-04-2008
In de TS staat duidellijk een link naar het vorige topic, men heeft het niet verplaats omdat er aan dat vorige topic hiet niet aanuit zou gekunnen hebben.. Dus de informatie uit het vorige topic is er ook he...

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf


  • daft_dutch
  • Registratie: December 2003
  • Laatst online: 02-12-2025

daft_dutch

>.< >.< >.< >.<

volgens mij is de apache user www-data

>.< >.< >.< >.<


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

daft_dutch schreef op dinsdag 04 april 2006 @ 14:21:
volgens mij is de apache user www-data
Maar dat hoeft niet, zo draait apache bij mij als nobody ;)

Maar dit staat allemaal in je apache config.

  • bibawa
  • Registratie: Augustus 2005
  • Laatst online: 13-04-2008
Okey mensen allemaal hartellijk bedankt, ik heb uiteindellijk alle info gevonden in een topic dat hierboven is vermeld geweest, blijkbaar niet de juiste zoektermen gebruikt :s.
Pagina: 1