permessi di scrittura

catellostefano

Utente Attivo
19 Dic 2008
525
2
0
www.stepo.biz
non so se postare questa domanda qui o in web-server, comunque io ho questa pagina php:

PHP:
<?php
//Recupero i dati
session_start();
$utente = $_SESSION['utente'];
$dominio = $_POST['dominio'];

if($_SESSION['utente'])
    {

//creo il virtual host

$fp=fopen('/etc/apache2/sites-available/','a');
fwrite($fp, 
'
<VirtualHost *:80>
DocumentRoot "/etc/apache2/sites-available/'.$dominio.'"
ServerName '.$dominio.'
ServerAlias www.'.$dominio.'
</VirtualHost>
');
fclose($fp);


//creo la cartella $dominio e le sottocartelle www, dns e error

mkdir("/etc/apache2/sites-available/'.$dominio.'", 0700);

    }
else
    {
	@header("Location: /personale");
    }

//ricarico Apache 
exec("net /etc/int.d/apache2 reload");

?>


<html>
<head>
<title>Dominio aggiunto con successo</title>
</head>
<body>

Il dominio <?php print $dominio;?>, è stato aggiunto al tuo pacchtto hosting con successo.<br>
- Creazione vistrual-host OK<br>
- Creazione zona DNS OK<br>
<a href="/personale">Clicca qui per tornare indietro</a>

</body>
</html>

MA MI DA QUESTO ERRORE:


Codice:
Warning: fopen(/etc/apache2/sites-available/) [function.fopen]: failed to open stream: Is a directory in /home/server/personale/adddomain/creazione.php on line 12

Warning: fwrite(): supplied argument is not a valid stream resource in /home/server/personale/adddomain/creazione.php on line 20

Warning: fclose(): supplied argument is not a valid stream resource in /home/server/personale/adddomain/creazione.php on line 21

Warning: mkdir() [function.mkdir]: Permission denied in /home/server/personale/adddomain/creazione.php on line 26
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Intanto ti vorrei far notare che /etc/apache2/sites-available è una directory, casomai devi aprire un file con un nome specifico lì dentro. E comunque per scrivere in quella cartella credo che tu debba assegnarle permessi particolari, prova con 0777, ma è veramente una cosa pericolosissima...
 

catellostefano

Utente Attivo
19 Dic 2008
525
2
0
www.stepo.biz
ok ho modificato in questo modo

PHP:
<?php

session_start();

$dominio = $_POST['dominio'];

if($_SESSION['utente'])
    {

?>

<html>
<head>
<title>Aggiunta dominio al vostro pacchetto hosting</title>
</head>
<body>

<?php

if($_SESSION['utente'])
    {

//creo il virtual host

$fp=fopen('/etc/apache2/sites-available/'.$dominio ,'a');
fwrite($fp, 
'
<VirtualHost *:80>
DocumentRoot "/etc/apache2/sites-available/'.$dominio.'"
ServerName '.$dominio.'
ServerAlias www.'.$dominio.'
</VirtualHost>
');
fclose($fp);


    }
else
    {
	@header("Location: /personale");
    }

//ricarico Apache 
exec("net /etc/int.d/apache2 reload");

?>

Il dominio <?php print $dominio;?>, è stato aggiunto al tuo pacchtto hosting con successo.<br>

</body>
</html>

<?php
}
else
{
      @header("Location: /index.php");
}

?>



- Creazione vistrual-host OK<br>
- Creazione zona DNS OK<br>



Chiaramente i permessi di scrittura non li tengo e mi dice


Codice:
Warning: fopen(/etc/apache2/sites-available/stefano.nino) [function.fopen]: failed to open stream: Permission denied in /home/server/public_html/funzioni/adddomain/creazione.php on line 25

Warning: fwrite(): supplied argument is not a valid stream resource in /home/server/public_html/funzioni/adddomain/creazione.php on line 33

Warning: fclose(): supplied argument is not a valid stream resource in /home/server/public_html/funzioni/adddomain/creazione.php on line 34


Come dò i permessi???
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
a parte la pericolosità di rendere completamente accessibile un file all'interno di una directory di sistema,non credo che /etc sia accessibile dalla root del web server...
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Eliox, in effetti anche io credo che non sa possibile accedere alle directory di sistema da parte di uno script, in quanto il suo campo d'azione deve comunque rientrare in /var/www o nella directory del Web Server installato.

castellostefano, credo che la soluzione adatta in questo caso sia usare un comando specifico di Apache per abilitare il nuovo Virtual Host, di cui al momento non ricordo il nome perché sono sotto Windows. Comunque per eseguire un comando con PHP usa la funzione system, così:
PHP:
<?php
system('comando');
?>
Ho qualche dubbio, tuttavia, che possa funzionare perché il comando lo devi eseguire come root. Non so, in questi giorni mi documenterò e ti farò sapere.
 

catellostefano

Utente Attivo
19 Dic 2008
525
2
0
www.stepo.biz
Eliox, in effetti anche io credo che non sa possibile accedere alle directory di sistema da parte di uno script, in quanto il suo campo d'azione deve comunque rientrare in /var/www o nella directory del Web Server installato.

E' possibile farlo con un cgi????

castellostefano, credo che la soluzione adatta in questo caso sia usare un comando specifico di Apache per abilitare il nuovo Virtual Host, di cui al momento non ricordo il nome perché sono sotto Windows. Comunque per eseguire un comando con PHP usa la funzione system, così:
PHP:
<?php
system('comando');
?>
Ho qualche dubbio, tuttavia, che possa funzionare perché il comando lo devi eseguire come root. Non so, in questi giorni mi documenterò e ti farò sapere.


itendi
Codice:
a2ensite sito
??????

ma poi non posso configurare bene il vhost!!!
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Lo so, è la stessa cosa sulla quale sto meditando io. Anche se probabilmente, conoscendo UNIX, per quel comando ci sono 6000 opzioni e parametri che gli puoi dare per configurare al meglio il Virtual Host. Non so, lasciami provare. Calcola che su questo PC ho appena installato Windows Vista e sto installando 98 aggiornamenti :D
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Non voglio fare il guastafeste :skull: ogni volta che provate una soluzione, ma anche in questo ci sarebbe un problema di sicurezza se fosse possibile attivare comandi CLI da remoto partendo da una pagina salvata nella root del web server..
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
In ogni soluzione PHP (e se è di questo tipo particolarmente) c'è qualche vulnerabilità da sfruttare. La differenza sta nell'evidenza di questa vulnerabilità :D
finalmente una bella discussione sulla sicurezza:)
Non sono daccordo Alessandro, in questo caso stiamo parlando di dare la possibilità di dar vita ad esecuzioni da remoto tramite comandi (come da sistema), se noti nessun buon hosting permette di utilizzare CLI da codice.
 

catellostefano

Utente Attivo
19 Dic 2008
525
2
0
www.stepo.biz
infatti ma sarebbe da stupidi permetterlo!!! no???

quello che dico è che comunque il sistemista o gestore di server ha un pannello di controllo per la creazione (in questo caso) delle Vhost es. cPannel, io non voglio creare c Pannel ma qualcosa che mi aiuti nella gestione del server!!!!

cmq in merito alla sicurezza cPannel se vede che tu esegui un comando al di fuori della tua home directory da un errore di sintassi del php (claro anche per l'asp e il resto)
 
Discussioni simili
Autore Titolo Forum Risposte Data
asevenx Errore di connessione e permessi in scrittura file .xml con Aruba Windows Hosting 8
J permessi scrittura DB Classic ASP 1
G Permessi Scrittura Classic ASP 4
B Come creare i permessi di scrittura Classic ASP 3
N Plugin permessi articoli WordPress 0
elpirata Gestire permessi accesso alle pagine PHP 3
felino [Dominio] File con permessi 444 e codice malevolo Domini 3
D [PHP] [HTML] Pagina con permessi amministratore PHP 6
C Impostazione permessi cartella locale Joomla Joomla 4
P [PHP] mancaza di permessi sul nas (synology) PHP 0
L DML: utente con permessi di UPDATE con WHERE ha bisogno di privilegi di SELECT? PHP 1
filomeni cambiare i permessi di tutti i file php in modo ricorsivo PHP 2
L Permessi PHP 1
S richiesta permessi per scrivere nelle sezioni Supporto Mr.Webmaster 0
kungfujava Gestione permessi utenti PHP 2
renoir09 sito wordpress scomparso modifica permessi WordPress 2
N permessi ftp WordPress 2
B Impostare permessi su XAMPP Apache 0
A Problema permessi Linux e Software 2
J Gestione utenti e permessi PHP 2
F Link su bottone Flash cs5 in dvd multimediale chiede permessi per aprire pagine siti Flash 7
A GoGo Problema permessi (era: salve scusate o bisognio di una mano) Hosting 5
L Creare proprietario, gruppi e utenti per permessi cartella e file PHP 4
S Problema permessi visualizzazione immagine PHP 1
Frank10 utenti windows 7 e permessi degli account [era: E' possibile creare due Users che:] Windows e Software 2
U perchè la funzione move_uploaded_file non funziona se i permessi sono 777? PHP 11
A Funzioni copy e permessi esecuzione PHP 5
E problema strano con db per i permessi PHP 1
D concedere permessi a cartella upload Web Server 0
L Spazio su webAlice. Problemi con permessi cartelle. Hosting 1
B problema permessi file PHP 4
B Mkportal probemi dare i permessi hai file! Web Server 5
catellostefano [Server][FTP] Gestione permessi in Pure-ftp Web Server 8
F Permessi cartelle Classic ASP 2
T Permessi forum PHP 4
C problema asp e db con permessi Classic ASP 2
A Login e Permessi PHP 1
P Improbabili errori su cartelle e permessi PHP 1
L Logica Assegnazione permessi utenti Ajax 2
M Permessi forum HTML e CSS 3
N Hosting di portale DotNetNuke e permessi EXECUTE su stored procedure Hosting 0
A Permessi Linux e Software 0
P domanda per cambio permessi cartella CHMOD Hosting 7
S settare i permessi ai file txt HTML e CSS 1
C Permessi in Sql 2000 Database 0
D Come Impostare i permessi CHMOD?? PHP 1
C permessi nei sondaggi del mio forum Database 0
giorgione_tg User e permessi Database 5
O Errore con i permessi Classic ASP 0
diodo Settare i permessi in apache PHP 0

Discussioni simili