Vilka kommandon kan man anropa via php-sida ?

Permalänk
Medlem

Vilka kommandon kan man anropa via php-sida ?

Har ett par olika shellscript som jag vill anropa via en intern webserver
Men alla vill inte starta och jag hittar inget i loggfilerna så man kan felsöka...

Kör apache2 på ubuntu 16

Script som funkar
1.sh

wget https://goo.gl/xxxxxx-O /home/micke/index.html

2.sh

mv /home/micke/www/upload/files/*.torrent /media/Asus/uncomplete

3.sh

mv /media/Asus/crap/*.torrent /media/Asus/uncomplete/

Script som inte funkar
4.

#!/bin/bash /usr/bin/dropbox start

5.

#!/bin/bash HOME=$HOME/.dropbox-XXX /usr/bin/dropbox start -l

6.

ps --no-headers -o pid,comm -C "dropbox" > /www/dropbox.txt

Kör med 2 olika Dropboxkonton och därav så kraschar dem lite då och då, och då vill jag köra PS-scriptet för att se om dem är igång alls.

Alla dessa script funkar om jag loggar in och kör ./X.sh
T.ex 4.sh

Dropbox is already running!

6.sh

20100 dropbox 20185 dropbox

php-koden jag anropar med är följande

http://127.0.0.1/1.php <?php shell_exec("/home/xxx/1v.sh"); header('Location: http://127.0.0.1/index.php?success=true'); ?>

Skapar inget i access.log eller error.log från Apache och hittar inget i auth.log eller syslog heller....

Så frågan är hur jag ska göra för att få dessa script att funka.
Eller finns det lista på vilka kommandon man kan / inte kan köra ifrån php-anrop ?

Visa signatur
Permalänk
Inaktiv

Du kan anropa precis alla script som apache har rätt att executera som den användaren som du kör apache. Ändra till den användaren och försök köra de scripten som du inte får att fungera så kommer du se varför de inte fungerar.

Permalänk
Medlem
Skrivet av studiox_swe:

Du kan anropa precis alla script som apache har rätt att executera som den användaren som du kör apache. Ändra till den användaren och försök köra de scripten som du inte får att fungera så kommer du se varför de inte fungerar.

[18:53:54] micke@stora:~$ sudo su www-data www-data@stora:/home/micke$

så långt är jag med nu att www-data inte har rätt att köra scripten,
Dropbox var t.ex ej installerat och misstänker då att det är dels att www-data saknar home-folder ?

Men då är frågan om man kan tvinga scriptet att köras av en annan users i php-filen ?

Löste ps --no-headers -o pid,comm -C "dropbox" > logfil.txt genom att skapa filen och ge den chmod 777
Då hade www-data rättigheter att skriva där i...

Visa signatur
Permalänk
Medlem

Lyckades lägga till Dropbox under service
Men kör

sudo service Dropbox start

och ser i syslog att den startar men ytterst tveksam att den rullar då

Skickades från m.sweclockers.com

Visa signatur
Permalänk
Medlem

Ja, du kan använda suid-bit. Det är rätt piligt om jag minns rätt dock. Varför ska du starta dropbox från php? Kan du inte bara starta det vid systemstart? Eller är detta för att fixa det när det kraschar?

Permalänk
Medlem
Skrivet av tommib:

Ja, du kan använda suid-bit. Det är rätt piligt om jag minns rätt dock. Varför ska du starta dropbox från php? Kan du inte bara starta det vid systemstart? Eller är detta för att fixa det när det kraschar?

Är mest för att i framtiden kunna lägga servern externt och kunna starta och stoppa olika saker via webben

Har kommit så pass långt nu att jag har lagt dropbox som en service och syncar båda kontona.

Dessvärre ligger dem lite fel i katalogstrukturen
Men går nog att lösa med en symlink

Skickades från m.sweclockers.com

Visa signatur
Permalänk
Medlem

Äntligen !
Då www-data inte har något riktigt lösenord så fick jag ändra användare som kör den processen.
Sen skapade jag php-script som anropar ett shell-script som löste de hela.

Visa signatur
Permalänk
Medlem

Skulle bara vilja påpeka att du öppnar upp för ett rejält säkerhetshål om du tillåter att dina php-script exekverar godtycklig kod på din server.

Permalänk
Inaktiv
Skrivet av tommib:

Skulle bara vilja påpeka att du öppnar upp för ett rejält säkerhetshål om du tillåter att dina php-script exekverar godtycklig kod på din server.

Ja, det betyder att om någon kommer åt din php-kod, inte helt otroligt då php i sig är rätt såbart så kommer dom åt din server, då jag antar du ändrat lite rättigheter för att kunna executera saker som normalt sätt körs som en helt annan user.

Om man ska flytta på servern varför vill man då "ta med sig" dropbox? Det är ju något man kör på sin egen dator....

Permalänk
Medlem
Skrivet av studiox_swe:

Ja, det betyder att om någon kommer åt din php-kod, inte helt otroligt då php i sig är rätt såbart så kommer dom åt din server, då jag antar du ändrat lite rättigheter för att kunna executera saker som normalt sätt körs som en helt annan user.

Om man ska flytta på servern varför vill man då "ta med sig" dropbox? Det är ju något man kör på sin egen dator....

servern kommer att köras internt endast men kommer att gå att ansluta till vpn via mobilen.
då vi är ett 10 tal som tar mycket kort med mobilerna ute på jobb så vill jag ha en snabb åtkomst till alla bilder direkt via en extern webserver som körs utan kod.

men för att kunna starta om vissa tjänster så vill jag göra det lätt och enkelt via mobilen och websidor

Allt är endast projekt just nu

Visa signatur