slacky Skrevet 19. august 2012 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
Lycantrophe Skrevet 20. august 2012 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
ShadowMaster Skrevet 20. august 2012 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
oj88 Skrevet 20. august 2012 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.
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å