Approfitto di questo Topic per esporre una considerazione e di alcune problematiche che sto affrontando; sono proprio attinenti al settaggio dei permessi che non è per niente un lavoro semplice.
In pratica un webmaster che ha accesso al proprio spazio web in linea di massima deve avere i propri file settati a 755 se vogliamo che questi possano essere visti da un utente attraverso un browser-web. Ho detto in linea di massima perchè, come avete fatto ben notare dipende da apache come è stato configurato.
Ecco allora io ho fatto un piccolo server web casareccio dove vorrei far girare per lo meno 2 siti Internet utlizzando il VirtualHost basato sui nomi con un solo indirizzo IP.
Al di la di tutte le problematiche che dovrò andare ad affrontare per realizzare ciò, devo assolutamente risolvere questo enigma.
In pratica i 2 siti sarebbero gestiti da 2 webmaster differenti e ipotizziamo che siano 2 siti completamente diversi. Detto questo sto cercando di capire come ognuno di essi NON deve accedere ai file dell'altro. E signori miei questo un pò difficile. Ho configurato apache in questo modo:
Directory di apache
Tutte le directory e tutti i file settati a 700 equvalente a rwx --- ---
E questo e gia un buon punto di partenza
Document Root principale
Non ho usato la predefinita di apache (htdocs), ma ho usato una home directory di un utente reale che esiste sul sistema e che fa da supervisore nonostante NON sia root questa directory è di sua proprietà non di apache ed è impostata a 701 perche il client deve poter eseguire gli script (il client rappresenta il browser web che l'utente usa). Se cosi non fosse ci troveremmo proprio con un Forbidden 403
Qui dentro ci sono le 2 direcotory che rappresenterebbero i 2 siti e anch'esse sono impostate a 701 per la stessa ragione.
File all'interno dei siti
Per si che il tutto funzioni per lo meno devono essere 604 perche apache deve poter leggere i file per eseguirli, siano html, php, xml etc.. etc..
Sono un pò perplesso per un semplice motivo: metti che un gestore di un sito conosce un percorso preciso di un file. Con qualche conoscenza di comandi Linux e brevi script perl o php può servirsi del browser per lanciare comandi come less, cat o more. Ebbene riuscirà a leggerli proprio come sono stati scritti perchè il 4 finale del 604 da proprio la possibilità a un utente qualsiasi di leggerlo, d'altro se cosi non fosse apache non leggerebbe il file e quindi ci troveremmo di fronte a un errore pressapoco cosi:
Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
Voi che dite disattivo i comandi che sono nelle direcotory come sbin e bin?
Farei un cd /; chmod -R 750 bin; chmod -R 750 sbin