Newsgroup: it.comp.os.linux.sys
Titolo: chroot utenti

quale potrebbe essere il modo migliore, secondo voi,
per mettere in chroot gli utenti e con essi tutti i
programmi da loro eseguiti come apache, ruby, crontab
e tutto il resto?
Ho la necessitï¿œ di segregare al massimo ogni singolo
utente, lasciando perï¿œ la possibilitï¿œ di utilizzare apache,
ruby, python, php ed i crontab. Ciascun utente non dovrebbe uscire
in alcun modo dalla gabbia.
Stavo pensando ad una mezza virtualizzazione con VZ, ma poi ho
visto che UML sembrerebbe fare al caso mio, in particolare con il
copy on write. Creo una immagine base di una debian e faccio
partire una istanza UML con il copyonwrite differente per ciascun
utente. In teoria, cosï¿œ facendo dovrei riuscire a risparmiare spazio
dato che l'immagine ï¿œ in comune, ed eventuali cambiamenti fatti dagli
utenti sarebbero salvati su un file dedicato.
Mi sembra decisamente overkill, ma non conosco alternative.
Voi ne avete?

 e tutto il resto?
Nessun consiglio?
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito ï¿œ di fare il possibile per la
salvezza degli anni nei quali viviamo,
sradicando il male dai campi che conosciamo.

 Nessun consiglio?
Mah, noi eravamo rimasti che UML faceva al caso tuo come ci avevi
detto
Personalmente userei OpenVZ perche' anche se impiega un po' di risorse
in piu` (essenzialmente disco), consente di avere un ambiente
pienamente funzionante senza problemi. Ma prima di tutto non so che
sicurezza garantisca OpenVZ all' host e in secondo luogo ho esperienza
nulla di configurazione di ambienti chroot, per cui lo userei perche'
mi sembra piu` semplice e veloce, mentre mettere in piedi un ambiente
chrooted perfettamente funzionante potrebbe essere parecchio piu`
difficile se non hai gia` chiare tutte le specifiche prima di partire
e soprattutto se ti cambiano in corso d'opera.
Se usi OpenVZ posso raccomandare vivissimamente la versione stabile
per RedHat (la installi su una CentOS per non avere nessun problema),
diversamente potresti godere di plurime e variegate esperienze
disastrose (questo te lo posso dire per esperienza personale).

 sicurezza garantisca OpenVZ all' host 
Non me ne frega niente.
L'obiettivo non � fare un ambiente virtualizzato con
una forse separazione tra gli utenti.
In pratica, vorrei 'emulare' quello che PHP fa con il
basedir, offrendo ad alcuni miei sviluppatori/clienti
un ambiente con apache configurato per offrire ruby, python,
php, perl, cgi ed ogni altro ben di Dio senza dover impazzire
a mettere in sicurezza i singoli permessi.
Purtroppo solo PHP ha un basedir, tutti gli altri girano liberamente
per il sistema.
Sono perfettamente al corrente che il basedir non � una soluzione
al non mettere in sicurezza il server, ma � un aiuto IN PIU'
Oltre alla sicurezza standard, ci piazzo il basedir che male non fa.
Come posso ottenere un risultato simile con anche gli altri linguaggi
di programmazione? Ad esempio mi piacerebbe poter fornire anche il
cron, che per� non ha alcuna restrizione se non i semplici permessi
utente. Creando un ambiente semi-virtualizzato con VZ, ovvero una
sorta di grossa chroot, avrei un grado di protezione aggiuntiva.
(non sarebbe la prima volta che un pirla mi imposta 777 ad un file ed
un secondo pirla lo va a modificare. Con VZ questo non accadrebbe).
Il problema? Devo portarmi dietro una installazione completa di tutto
il sistema operativo per creare l'ambiente virtuale.
Si pu� fare in qualche modo migliore?
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito � di fare il possibile per la


 modo migliore?
Uhm...SELinux? :-P

 Uhm...SELinux? :-P
Mai usato, fa quello che chiedo?
Posso ad esempio dire che l'utente pippo (magari virtuale)
può accedere solo e soltando a
/home/www/pippo/ ?
Può eseguire quel cappero che vuole, ma read/write solo e
soltando li dentro.
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito è di fare il possibile per la
