On 21/12/19 19:25, Leonardo Boselli wrote:
il numero degli utenti del sistema è oltre i 180000
con poche eccezioni di utenti che sono membri di migliaia di gruppi,
gli altri sono normalmente membri di qualche decina di gruppi.
secondo me per risolvere semplicemente e avere una soluzione efficiente,
dal punto di vista della velocità, dovresti poter associare ai file più
GID, in modo che poi ogni utente possa agire su tutti i file a cui è
associato il suo GID.
Da quello che dici sarebbero pochi i file che avrebbero un numero
elevato di GID associati
Però non so come potresti fare qualcosa del genere :-(
Fare l'inverso: associare ad ogni utente un elenco di gruppi, secondo
me, potrebbe rendere lenta l'esecuzione, oltre a dover creare un gran
numero di gruppi ulteriori.
Probabilmente puoi usare i namespaces: ogni namepaces è un gruppo e in
quel gruppo ci butti dentro soltanto i processi degli utenti di quel
gruppo... il problema è che se un utente appartiene a più gruppi può
vedere un gruppo alla volta. Ma anche qui dovendone creare così tati non
so se avresti problemi prestazionali.
Un'altra soluzione potrebbe essere che ogni gruppo corrisponde ad una
directory. Ad ogni utente monti (link simbolico) l'elenco delle
directory a cui appartiene. Il problema è che ogni utente, in teoria,
potrebbe leggere/scrivere ogni file di ogni gruppo... se accedesse
direttamente alla directory reale, ache se non montata per lui.
Magari puoi fare un mix tra le ultime due soluzioni:
1) un utente entra
2) crei un namespace con le directory (gruppi) che l'utente può vedere
3) sposti l'utente (il pid del processo usato per visionare i file) in
quel namespace
Naturalmente i file e le directory all'esterno del namespace non devono
essere visibili agli utenti.
In questo modo, se il numero di utenti contemporanei è contenuto,
dovresti avere buone prestazioni.
Ciao
Davide
--
Dizionari: http://linguistico.sourceforge.net/wiki
Fate una prova di guida ... e tenetevi la macchina!:
http://linguistico.sf.net/wiki/doku.php?id=usaooo2
Non autorizzo la memorizzazione del mio indirizzo su outlook