Vraag system, exec calls in linux werken niet vanuit php zijn werk prima als ik direct naar putty ren


Ik probeer wat opdracht via php uit te voeren. zoals kill {process id} Die opdracht werkt goed met de opdrachtprompt putty  maar hetzelfde als ik gebruik met php gebeurt er niets.


0
2018-05-23 06:26


oorsprong


Voeg de PHP-code toe die u probeert uit te voeren. - ps95
$ command = "kill". $ pieces [1]; // p ($ command); passthru ($ command); - kalpesh patel


antwoorden:


De shell-opdracht die u probeert uit te voeren, wordt uitgevoerd met de machtigingen van het proces dat het PHP-binaire bestand uitvoert (I.e. apache, enz ...) Wanneer je via putty / ssh bent ingelogd, heeft de opdracht kill je rechten.

Tenzij je de PHP / apache suexect of een proces probeert te kraken dat in handen is van dezelfde gebruiker als die met de PHP / apache, zul je niet veel geluk hebben.


1
2018-05-23 06:36



wat te doen om dit vanaf php uit te voeren? - kalpesh patel
Ik presenteerde twee methoden in mijn antwoord. Gebruik suexec om het eigenaarschap van de synchronisatie van het proces te wijzigen of het proces uit te voeren dat u wilt beheren met dezelfde gebruiker die PHP uitvoert. Uiteindelijk zouden de opgelegde limieten daar moeten zijn voor systeembeveiliging. Als dit op een gedeelde host wordt uitgevoerd, wordt een groot deel hiervan verboden vanaf een beveiligingspunt. - sparq