Area personale

 

Tag

 

Ultime visite al Blog

taichungmonellaccio19amorino11m12ps12acer.250miriade159prefazione09Marion20cassetta2limitedelbosco0marabertowjoerivetto6surfinia60Catter1na
 

Ultimi commenti

 
Creato da: taichung il 12/01/2011
Linux Drupal Pinephone Freerunner Android

 

 
« Linux: Inserire un utent...Come navigare dal pc del... »

Linux, quota + ldap: impostare le quote sul fs per utenti ldap(o locali) di uno stesso gruppo

Post n°4 pubblicato il 09 Settembre 2013 da taichung
 

Talvolta ci si ritrova, anche senza averlo precedentemente preventivato, con una macchina linux con molti utenti. Ogni utente ha la sua /home ma qualcuno occupa metà partizione, mentre altri solo pochi Kb. Ciò può accadere su di un pc utilizzato da più utenti (per esempio in una scuola, ma anche a casa propria), oppure su di un server sul quale facciamo loggare da remoto i nostri amici sparsi per il mondo, o ancora un server samba che ospita le home directories di diversi utenti.
Ciò che noi vogliamo fare, è configurare le quote sul filesystem ai diversi utenti, in modo tale che a tutti (oppure a gruppi) venga assegnato il medesimo spazio disco.
Prendiamo spunto da quest'ultimo caso. Supponiamo di avere un server samba attraverso il quale forniamo le home directories agli utenti, ed un server ldap che contiene gli utenti stessi. Ambedue i servers sono già configurati. La configurazione dell'albero ldap è più o meno la seguente:
-sono presenti degli utenti un po' anomali, con compiti particolari: l'amministratore di ldap, un utente che viene utilizzato per la replica dell'albero su di uno slave ldap, utenti amministratori di gruppi particolari.
-la maggior parte degli utenti è inserita nel gruppo foobar
-esistono altri gruppi come sysadmins (di cui fanno parte alcuni utenti già compresi nel gruppo foobar), o barfoo che contiene utenti di un altro settore (ovvero sono differentemente inquadrati all'interno dell'albero, perché magari hanno compiti particolari o possiedono maggiori o minori privilegi rispetto al gruppo principale)
-gli utenti del gruppo foobar non sono configurati tutti allo stesso modo. Per esempio, ad alcuni è stata configurata una shell di login, ad altri no. Alcuni fanno parte di gruppi secondari, altri no. Alcuni hanno una home directory su samba, altri no.

E' su questo ultimo aspetto che vogliamo soffermarci. Se un utente ldap ha configurato nel suo profilo una home directory, questa esisterà sul filesystem. Supponiamo di avere una partizione /home su di un disco, ed al suo interno si trovano le home directories di tutti gli utenti per i quali esse sono state configurate su ldap. Avremo quindi le cartelle /home/foo, /home/bar, /home/x, /home/y... per gli utenti foo, bar, x, y... La stessa situazione si potrebbe avere se gli utenti fossero stati semplicemente configurati localmente sulla macchina. L'importante è che tutti gli utenti per i quali vogliamo configurare la quota (spazio disco) sul filesystem /home, possiedano la propria cartella. In questo modo, anche se all'interno del gruppo foobar ho utenti con la home configurata, ed altri senza, non mi serve andare ad interrogare ldap per sapere su quali utenti devo agire, perché il loro elenco in pratica già lo abbiamo, lo otteniamo semplicemente con un "ls -l /home". Per assegnare le quote sul filesystem, è necessario che i pacchetti relativi siano installati. basta una rapida ricerca su internet per trovare le istruzioni per scaricare ed installare i pacchetti per la propria distribuzione. Terminato questo step, è necessario configurare il sistema per utilizzare le quote. Una buona guida in tal senso si può trovare a questo indirizzo: http://www.yolinux.com/TUTORIALS/LinuxTutorialQuotas.html
A questo punto editiamo la quota dell'utente foo, facente parte del gruppo foobar, sempre secondo le istruzioni presenti nel documento; come utente root digitiamo:
>edquota -u foo

e poi premiamo il tasto "invio"
Ora, noi vogliamo che tutti gli utenti che hanno la propria home all'inteno della partizione /home (cioè /home/foo, /home/bar... ecc.), abbiamo la stessa quota sul file system che abbiamo appena configurato per l'utente foo. Allora digitiamo:
>edquota -p foo `ls -l /home/|grep foobar|cut -c 61-`

In questo modo tutti gli utenti del gruppo foobar, che hanno una home folder in /home, avranno ora la stessa quota dell'utente foo che avevamo precedentemente configurato. Ma cosa abbiamo fatto?
-il parametro "-p" inserito dopo edquota dice al comando di usare ciò che segue come template (in questo caso foo, che è il nome dell'utente-template), per l'argomento successivo (ls-l... ecc.)
-ls -l /home, mi dà la lista del contenuto di /home
- |grep foobar, grazie alla pipe (il simbolo | ) preleva l'output del comando che abbiamo appena visto, e lo passa al comando grep, il quale estrapola tutte le linee che contengono la stringa "foobar". Foobar è il nome del gruppo di cui fanno parte gli utenti di cui vogliamo modificare le quote, e noi lo utilizziamo perché è l'unico comune denominatore che mi permettere di discernere, all'interno della partizione /home, gli utenti su cui voglio applicare la quota (foo, bar, x, y...) da quelli ai quali non la voglio applicare, che potrebbero avere anch'essi una propria home, ma non essere parte del gruppo foobar perché inseriti in un gruppo di amministratori, per esempio.
- |cut -c 61- prende l'output del comando precedente e taglia i primi 61 caratteri. In tal modo, ciò che otteniamo è la lista degli utenti (o, in termini equivalenti la lista delle home directories degli utenti presenti).

In poche parole, ciò che ha fatto quel comando è:
edita la quota (usando come stampo l'utente foo) di (lista di tutti gli utenti che hanno una home directory nella partizione /home)

Se ciò appare piuttosto inutile applicato a pochi utenti, risulta invece utile quando si hanno molti utenti con la propria home all'interno dello stesso file system, ed è necessario configurare o riconfigurare le quote per essi. Il difficile è trovare un parametro che li accomuni, in modo da poterli discernere dagli altri.
Riassumendo, nel nostro caso abbiamo prima cercato tutti gli utenti che avavano una propria home sul filesystem (quindi molti utenti del gruppo foobar, e presumibilmente altri utenti di altri gruppi); poi abbiamo dovutro trovare un parametro che ci permettessi di individuare solo quegli utenti di cui effettivamente volevamo editare la quota. Certo, noi siamo partiti dal postulato che se un utente del gruppo foobar aveva una home directory, allora esso aveva diritto alla stessa quota degli altri utenti con le medesime caratteristiche. Se avessimo voluto, all'interno del gruppo foobar, avere 100 utenti con 100MB di spazio e 50 utenti con 500MB, la cosa sarebbe stata più complicata, avremmo dovuto filtrare ulteriormente la lista, od interrogare direttamente il db degli utenti.

 
Condividi e segnala Condividi e segnala - permalink - Segnala abuso
 
 
Vai alla Home Page del blog

Cerca in questo Blog

  Trova
 
RSS (Really simple syndication) Feed Atom
 

Archivio messaggi

 
 << Luglio 2024 >> 
 
LuMaMeGiVeSaDo
 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
 
 

Sponsored link

 

Sponsored link

Inchiostro stampanti varie marche a prezzi competitivi

 

© Italiaonline S.p.A. 2024Direzione e coordinamento di Libero Acquisition S.á r.l.P. IVA 03970540963