PDA

View Full Version : questione di permessi...??


friwer
19-08-2008, 20:19
in realtà è un argomento abbastanza "pluridisciplinare"....tuttavia mi sembra la sezione più azzeccata :D

SCENARIO
uno studio di commercialista ha bisogno di un server attivo in orario di ufficio che permetta ad alcuni clienti un accesso alle proprie fatture ed altri documenti. in sola lettura ovviamente. la creazione dell'utenza non è interattiva

COSA HO FATTO FINORA
su un vecchio pentium 4 ho installato ubuntu server basandomi su una guida presa da howtoforge (perfect server :D ). tutti i servizi funzionano regolarmente. ho installato webmin, apache2, php, mysql, bind, proftpd. Ho creato un account su dyndns per permettere il raggiungimento del server da parte dei clienti.

IL PROBLEMA
avevo pensato di usare uno script ad-hoc che implementasse un banale file manager, con la gestione degli utenti. questo script (extplorer) l'ho decompresso nella cartella /var/www, poi ho creato un link simbolico chiamato "utenti" che puntasse alla cartella /home
ln -s /home utenti
ogni nuovo utente che creo viene visto dal file manager, proprio come volevo. Ogni utente può (solo) leggere la sola cartella con il suo nome, non può vedere altro, sia dal file manager sia da ftp.
Il problema è che per usare lo script le cartelle devono essere chmoddate a 755 o peggio a 777. Il risultato è che tramite script la sicurezza è garantita (l'utente rimane nella propria home). Ma se navigo con il browser tutti possono vedere tutti, giustamente.
Lo so, è una niubbata pazzesca ma.....come risolvo il problema?? :confused:

Pardo
19-08-2008, 23:03
Non capisco perche` hai fatto un sistema ad hoc per un problema cosi` banale? Limitati ad ftp che e` molto piu` semplice da configurare di apache! (in pratica non bisogna fare niente oltre creare gli utenti..)

friwer
20-08-2008, 00:46
lo so...ci avevo pensato. i problemi sono 2 però:
1) l'utente medio che usufruirà del servizio non sa cosa sia un ftp...figuriamoci installare un client come filezilla. E via browser potrebbe essere complesso...
2) lo studio ci tiene molto anche all'immagine, considerando il servizio che offre. Una interfaccia gradevole sarebbe molto gradita...senza contare che il tutto dovrebbe essere un prolungamento del sito principale (l'area clienti in pratica)

nel mentre ho risolto qualcosa commentando la riga
# Options Indexes FollowSymLinks
per disabilitare la visualizzazione dei file. Inoltre ho impostato i permessi delle cartelle contenute nella home a 750, con owner e group come quelli usati da apache (www-data).

Meglio o peggio in termini di sicurezza??

Barone di Sengir
20-08-2008, 11:55
www-data significa che apache e le applicazioni in esso contenute ci posso accedere (modificare), ma non gli utenti normali, se non erro...

non ti conviene creare uno db di utenti e usare il php per accedere ai loro dati? così non devi creare utenti nel server che sono potenzialmente bucabili...
ci sono 1000 motori per community già fatti e di interfaccia gradevole che si possono espandere con moduli (tipo yacs).

friwer
20-08-2008, 13:11
www-data significa che apache e le applicazioni in esso contenute ci posso accedere (modificare), ma non gli utenti normali, se non erro...
esattamente...

non ti conviene creare uno db di utenti e usare il php per accedere ai loro dati? così non devi creare utenti nel server che sono potenzialmente bucabili...
uhm...questo non lo sapevo. Quindi conviene tenere il numero di utenti al minimo per evitare rischi sicurezza? anche se appartengono allo stesso gruppo?

ci sono 1000 motori per community già fatti e di interfaccia gradevole che si possono espandere con moduli (tipo yacs).
ho visto yacs....ma è un cms, in pratica farei un sito nel sito. A me serve un semplice filemanager, che permetta all'utente admin di caricare i file su tutte le cartelle utenti e alle singole utenze di poter navigare solo nella loro cartella.

grazie ;)

Barone di Sengir
20-08-2008, 17:20
bhe quello è ancora + semplice, lo puoi quasi fare con un db semplice... crei gli utenti nel db e dai i link solo in sezioni disponibili per utenti loggati, ovviamente ad ogni utente il proprio link, tanto lo devono solo scaricare... altrimenti puoi provare ad inserire un clinet ftp in java in una pagina ma non so bene se ci sia...