slacky Skrevet 19. august 2012 Del Skrevet 19. august 2012 (endret) Hei. Har et system hvor jeg starter en applikasjon gjennom php, ved å bruke et php-script som ser slik ut: &--#60;?php shell_exec("./fil.sh"); ?&--#62; fil.sh: #!/bin/bash echo "Starting proggy" sleep 1 cd folder screen -A -m -d -S proggy ./proggy Problemstilling: Når den startes fra browseren (gjennom php) så finner jeg ikke prossessen når jeg skriver "screen -ls", eller "sudo screen -ls" i kommandolinja. Men, prossesen kjører - Jeg finner den i "top" (oversikt over prosesser). Men, da den startes gjennom php så går det under en "virtuell bruker" "www-data". //Edit: Fikk tilgang til screen sessjonen ved å logge inn som "www-data", men blir noe klumesete å gå gjennom en annen bruker, (alt skal tross alt skje gjennom php/browseren, til slutt). - Hvordan kan screen startes opp fra browseren under brukeren min (ikke root, eller www-data)? Er dette mulig på enkelt vis? Endret 20. august 2012 av warpie Lenke til kommentar
Lycantrophe Skrevet 20. august 2012 Del Skrevet 20. august 2012 (endret) Er det hele php-scriptet? Hvorfor i all verden ønsker du å gå via php for å gjøre det? Edit: ah, starte gjennom browser. Det du kan gjøre er å gi www-data sudo, men det er en ganske dårlig idé tbh. Hva prøver du å oppnå? Såvidt jeg vet kan du konfigurere sudo til å gi www-data rettigheter til å kjøre ting som din bruker - det hadde gitt deg resultatet du er på jakt etter. Endret 20. august 2012 av Lycantrophe Lenke til kommentar
ShadowMaster Skrevet 20. august 2012 Del Skrevet 20. august 2012 (endret) Legg fil.sh i PATH for www-data. (ie, /usr/bin/) Gi www-data sudo tilgang til KUN den kommandoen, uten passord. (Du må beskytte adgangen til å kunne kjøre php scriptet på egen hånd via htaccess e.l.) shell_exec("sudo fil.sh"); su &--#60;brukernavn&--#62; -c 'screen -A -m -d -S proggy /path/til/proggy' Skulle fikse biffen. Benytter samme metode selv for å gi enkel beskyttet tilgang til å restarte enkelte prosesser uten å måtte gi ssh tilgang. Endret 20. august 2012 av ShadowMaster Lenke til kommentar
oj88 Skrevet 20. august 2012 Del Skrevet 20. august 2012 apache2-mpm-itk (apt-get...) er ganske kjekk for å kjøre forskjellige virtuelle maskiner som forskjellige brukere (erstatter apache2-mpm-prefork, som er standard) http://mpm-itk.sesse.net/ Hvis webserveren din er tilgjengelig på Internett bør du selvfølgelig vurdere om Apache skal kjøre som en viktig bruker. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå