Pagina 1 di 2
Comando shell da PHP [Risoltissimo]
Inviato: martedì 6 ottobre 2009, 17:37
da some0ne
Ciao,vorrei sapere come lanciare un comando,precisamente /etc/init.d/squid3 restart da una pagina php con exec() o roba simile...ovviamente quel comando ha bisogno di privilegi di root,qualche idea ?
Re: Comando shell da PHP
Inviato: martedì 6 ottobre 2009, 18:08
da Valix
ti basta creare un file con dentro la tua password
per esempio creiamo un file chiamato pass all'interno della tua home
ora nel tuo file php inserisci
Codice: Seleziona tutto
<?php
shell_exec('sudo -u root -S /etc/init.d/squid3 restart < /home/$User/pass');
?>
Re: Comando shell da PHP
Inviato: martedì 6 ottobre 2009, 22:59
da dirty_paul
...scusate mi intrometto anche io nella discussione.
Per esegiore comando o script con privilegi di root esempio:
voglio eseguirlo su una pagina php non da root:
tutto ok,
se voglio farlo da root?
Re: Comando shell da PHP
Inviato: martedì 6 ottobre 2009, 23:14
da ReMichael
dirty_paul ha scritto:
...scusate mi intrometto anche io nella discussione.
Per esegiore comando o script con privilegi di root esempio:
voglio eseguirlo su una pagina php non da root:
tutto ok,
se voglio farlo da root?
lo ha scritto Valix sopra..
Codice: Seleziona tutto
echo shell_exec('sudo -S lshw -html < file_che_contiene_la_password');
Re: Comando shell da PHP
Inviato: martedì 6 ottobre 2009, 23:14
da dirty_paul
...esatto, ma non mi funziona
Re: Comando shell da PHP
Inviato: martedì 6 ottobre 2009, 23:18
da ReMichael
dirty_paul ha scritto:
...esatto, ma non mi funziona
l'ho provato adesso e a me funziona.. mi stampa tutto l'output :-\
Re: Comando shell da PHP
Inviato: martedì 6 ottobre 2009, 23:25
da dirty_paul
a me continua a non funzionare
...non so.
forse dipende dai privilegi utente www-data?
Re: Comando shell da PHP
Inviato: martedì 6 ottobre 2009, 23:27
da ReMichael
dirty_paul ha scritto:
a me continua a non funzionare
...non so.
forse dipende dai privilegi utente www-data?
io l'ho eseguito direttamente con il comando php in effetti.. comunque sì, assicurati che il file sia leggibile da www-data, dovrebbe essere quello il problema.
EDIT: beh, ma adesso che ci penso.. www-data non è tra i sudoers.. lo devi aggiungere
Re: Comando shell da PHP
Inviato: martedì 6 ottobre 2009, 23:39
da dirty_paul
e infatti come immaginavo.
era l'ultima prova che volevo fare ed infatti funziona.
comunque grazie
una domanda:
mettendo l'utente www-data tra i "sudoers" , cambia qualcosa a livello di sicurezza oppure...
Re: Comando shell da PHP
Inviato: martedì 6 ottobre 2009, 23:42
da ReMichael
dirty_paul ha scritto:
e infatti come immaginavo.
era l'ultima prova che volevo fare ed infatti funziona.
comunque grazie
una domanda:
mettendo l'utente www-data tra i "sudoers" , cambia qualcosa a livello di sicurezza oppure...
secondo me sì.. non usano root appunto per la sicurezza, mettendo www-data nei sudoers a mio parere come rischi ci avviciniamo.. poi non so quanto sia sfruttabile la cosa, però non è il massimo
Re: Comando shell da PHP
Inviato: mercoledì 7 ottobre 2009, 10:05
da some0ne
dirty_paul ha scritto:
e infatti come immaginavo.
era l'ultima prova che volevo fare ed infatti funziona.
comunque grazie
una domanda:
mettendo l'utente www-data tra i "sudoers" , cambia qualcosa a livello di sicurezza oppure...
ho provato ad aggiungere www-data ai sudoers con usermod -a -G admin www-data
ma non funge...
qualcuno mi copia incolla il suo /etc/sudoers con www-data dentro?
Re: Comando shell da PHP
Inviato: mercoledì 7 ottobre 2009, 10:14
da ReMichael
some0ne ha scritto:
dirty_paul ha scritto:
e infatti come immaginavo.
era l'ultima prova che volevo fare ed infatti funziona.
comunque grazie
una domanda:
mettendo l'utente www-data tra i "sudoers" , cambia qualcosa a livello di sicurezza oppure...
ho provato ad aggiungere www-data ai sudoers con usermod -a -G admin www-data
ma non funge...
qualcuno mi copia incolla il suo /etc/sudoers con www-data dentro?
aggiungilo al gruppo così:
Re: Comando shell da PHP
Inviato: mercoledì 7 ottobre 2009, 10:18
da some0ne
continua a non funzionare :\
some0ne@Userver:~/www$ sudo adduser www-data admin
The user `www-data' is already a member of `admin'.
anche se è gia membro non riesco ad eseguire comandi shell via php...
Re: Comando shell da PHP
Inviato: mercoledì 7 ottobre 2009, 10:31
da ReMichael
some0ne ha scritto:
continua a non funzionare :\
some0ne@Userver:~/www$ sudo adduser www-data admin
The user `www-data' is already a member of `admin'.
anche se è gia membro non riesco ad eseguire comandi shell via php...
prova ad usare sudo da console con l'utente www-data per verificare se funziona o no.. nel caso che così funziona, il problema sta nella pagina php
Re: Comando shell da PHP
Inviato: mercoledì 7 ottobre 2009, 10:36
da some0ne
prova ad usare sudo da console con l'utente www-data per verificare se funziona o no.. nel caso che così funziona, il problema sta nella pagina php
some0ne@Userver:~$ sudo -u www-data /etc/init.d/squid3 restart
ulimit: 33: error setting limit (Operation not permitted)
* Restarting Squid HTTP Proxy 3.0 squid3 ulimit: 144: error setting limit (Operation not permitted)
Re: Comando shell da PHP
Inviato: mercoledì 7 ottobre 2009, 10:53
da ReMichael
some0ne ha scritto:
prova ad usare sudo da console con l'utente www-data per verificare se funziona o no.. nel caso che così funziona, il problema sta nella pagina php
some0ne@Userver:~$ sudo -u www-data /etc/init.d/squid3 restart
ulimit: 33: error setting limit (Operation not permitted)
* Restarting Squid HTTP Proxy 3.0 squid3 ulimit: 144: error setting limit (Operation not permitted)
non so se è corretto fare così.. prova a fare un su a www-data e poi lanciare il comando con sudo
Re: Comando shell da PHP
Inviato: mercoledì 7 ottobre 2009, 10:57
da some0ne
non so se è corretto fare così.. prova a fare un su a www-data e poi lanciare il comando con sudo
www-data mi chiede una password ...
Re: Comando shell da PHP
Inviato: mercoledì 7 ottobre 2009, 11:01
da ReMichael
some0ne ha scritto:
non so se è corretto fare così.. prova a fare un su a www-data e poi lanciare il comando con sudo
www-data mi chiede una password ...
quando lanci sudo da www-data ti chiede la password? o quando cerchi di passare a www-data con su?
Re: Comando shell da PHP
Inviato: mercoledì 7 ottobre 2009, 11:04
da some0ne
su www-data
Password:
l'ho impostata con sudo passwd www-data
poi ho fatto su www-data
e da www-data ho lanciato
sudo /etc/init.d/squid3 restart e funge
ora pasto il codice php,magari cè qualcosa che non va li..:
some0ne@Userver:~/www$ cat write.php
Re: Comando shell da PHP
Inviato: mercoledì 7 ottobre 2009, 11:07
da ReMichael
some0ne ha scritto:
su www-data
Password:
l'ho impostata con sudo passwd www-data
poi ho fatto su www-data
e da www-data ho lanciato
sudo /etc/init.d/squid3 restart e funge
ora pasto il codice php,magari cè qualcosa che non va li..:
some0ne@Userver:~/www$ cat write.php
mmm.. togli dal comando "-u root" e controlla che il file pass sia leggibile da www-data (e che ovviamente contenga la password di www-data)