11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ulimit<br />

quota<br />

setquota<br />

umask<br />

Risorse <strong>di</strong> sistema<br />

Capitolo 13. Coman<strong>di</strong> <strong>di</strong> sistema e d’amministrazione<br />

Imposta un limite superiore all’uso delle risorse <strong>di</strong> sistema. Viene solitamente invocato con<br />

l’opzione -f, che imposta la <strong>di</strong>mensione massima del file (ulimit -f 1000 limita la <strong>di</strong>mensione<br />

massima dei file a 1 mega). L’opzione -t imposta il limite dei file core (ulimit -c 0 elimina i file<br />

core). Di norma, il valore <strong>di</strong> ulimit dovrebbe essere impostato nel file /etc/profile e/o<br />

~/.bash_profile (ve<strong>di</strong> Appen<strong>di</strong>ce G).<br />

Importante: Un uso giu<strong>di</strong>zioso <strong>di</strong> ulimit può proteggere il sistema contro una temibile bomba<br />

fork.<br />

#!/bin/bash<br />

# Script a solo scopo illustrativo.<br />

# L’esecuzione è a vostro rischio -- vi *bloccherà* il sistema.<br />

while true # Ciclo infinito.<br />

do<br />

$0 & # Lo script invoca se stesso . . .<br />

#+ genera il processo un numero infinito <strong>di</strong> volte . . .<br />

#+ finché il sistema non si blocca a seguito<br />

#+ dell’esaurimento <strong>di</strong> tutte le risorse.<br />

done # Questo è il famigerato scenario dell’“appren<strong>di</strong>sta stregone”.<br />

exit 0 # Non esce qui, perché questo script non terminerà mai.<br />

La riga ulimit -Hu XX (dove XX è il limite del processo utente), inserita nel file /etc/profile,<br />

avrebbe fatto abortire lo script appena lo stesso avesse superato il suddetto limite.<br />

Visualizza le quote <strong>di</strong>sco dell’utente o del gruppo.<br />

Imposta, da riga <strong>di</strong> comando, le quote <strong>di</strong>sco <strong>di</strong> un utente o <strong>di</strong> un gruppo.<br />

Maschera per per l’impostazione dei permessi sui file dell’utente. Limita gli attributi predefiniti dei<br />

file <strong>di</strong> un particolare utente. Tutti i file creati da quell’utente otterranno gli attributi specificati con<br />

umask. Il valore (ottale) passato ad umask definisce i permessi <strong>di</strong>sabilitati del file. Per esempio,<br />

umask 022 fa sì che i nuovi file avranno al massimo i permessi 755 (777 NAND 022). 7<br />

Naturalmente l’utente potrà, successivamente, mo<strong>di</strong>ficare gli attributi <strong>di</strong> file particolari con chmod.<br />

È pratica corrente impostare il valore <strong>di</strong> umask in /etc/profile e/o ~/.bash_profile (ve<strong>di</strong><br />

Appen<strong>di</strong>ce G).<br />

377

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!