RASPBIAN - APACHE2 - suPHP: eseguire script come ROOT

1 risposta [Ultimo contenuto]
Ritratto di WikiZell
WikiZell
(Newbie)
Offline
Newbie
Iscritto: 21/10/2014
Messaggi: 1

Ciao a tutti,

Prima volta che posto qualcosa in questo forum Smile ... certo, sono solo 2 giorni che mi affaccio al mondo linux !! e d ho gia diversi problemi.

Vi spiego qual'è la mia problematica e vediamo se con il vostro aiuto riesco ad uscirne:

1- Installato Raspbian da zero sul mio raspberry
2- Installato apache2
3- installato php

----Tutto funziona---

Ora sto scrivendo un applicativo PHP che deve eseguire un applicazione installata sul rasp, aspettare che finisca il suo lavoro, e recuperare il file generato.

Leggendo sulla rete ho capito che per eseguire un determinato applicativo linux, ho necessita di eseguirlo con un determinato utente, nel mio caso ROOT ma PHP esegue i comandi come utente www-data.

Indago ancora un po nel web, e sono incappato in questo famoso suPHP e suEXEC.

Lo installo (dopo tante difficolta e Internal server error (500)) .... modificando qua e la i file di configurazione, id utenti id gruppi e proprietario cartella docroot, il mio script PHP riparte e tutto sembra funzionare, ma purtroppo non è cambiato nulla , PHP esegue sempre le funzione come www-data e quindi non ho raggiunto il mio scopo.

Forse sono fuori strada e non dovevo usare suPHP su EXEC o altri smanettamenti vari.

Quindi , devo chiedervi aiuto.

Questi sono i LOG che secondo me potrebbero aiutarvi a capire:

suphp.log
Executing "/var/www/xmltv_automator.php" as UID 33, GID 33

apache2 - error.log
Failed to create /.xmltv/supplement: mkdir /.xmltv: Permission denied at /usr/share/perl5/XMLTV/Supplement.pm line 78, referer: http://192.168.1.27/

Ovviamente se da shell SHH eseguo (come ROOT) o come altro utente usando SUDO lo script funziona.

Questa è il comando che lancio (sia da PHP che da SHELL)

tv_grab_it --config-file /var/www/xmltv/config/listacanali.conf --days 0 --cache --slow --cache-slow errors-in-xml --quiet --output /var/www/xmltv/palinsesto.xml

Grazie in anticipo e spero di essermi espresso bene.

--UPDATE--

Ho provato ad aggiungere SUDO alla stringa PHP e pare funzioni, però sono accetti consigli, aggiustamenti e dritte varie.

Tra l'altro mi sono accorto solo ora che ha smesso di funzionare phpmyadmin (credo sia a causa di suPHP), quindi aggiungo anche questo alla lista delle cose da sistemare.

Grazie e scusate se sembrano domande banali ma sono solo 2 giorni che smanetto con linux ...

--UPDATE2--

Il file creato da un applicazione eseguita come descritto sopra (tramite PHP con SUDO) a chi apparterrà ? , potrà poi essere poi utilizzato da PHP senza problemi di access deined ?

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2913

Il comando che segue sudo è eseguito come root, quindi i file generati avranno root come proprietario. Un altro utente non avrà problemi a leggerli, ma non potrà modificarli. Potrà cancellarli se ha i diritti di scrittura nella directory che li contiene.