I sistemi operativi UNIX/Linux hanno la capacità di limitare la quantità di varie risorse di sistema disponibili per un processo utente. Queste limitazioni includono il numero di file che un processo può avere aperti, la dimensione di un file che l'utente può creare e la quantità di memoria che può essere utilizzata dai diversi componenti del processo come lo stack, i dati e i segmenti di testo. limite è il comando utilizzato per farlo.
Per impostare il valore ulimit su un parametro utilizzare il comando seguente.
# ulimit -p [new_value]
Affinché ulimits persista durante i riavvii, è necessario impostare i valori ulimit nel file di configurazione /etc/security/limits.conf . Le impostazioni in /etc/security/limits.conf assumono la forma seguente:
# vi /etc/security/limits.conf #[domain] [type] [item] [value] * - core [value] * - data [value] * - priority [value] * - fsize [value] * soft sigpending [value] eg:57344 * hard sigpending [value] eg:57444 * - memlock [value] * - nofile [value] eg:1024 * - msgqueue [value] eg:819200 * - locks [value] * soft core [value] * hard nofile [value] @[group] hard nproc [value] [user] soft nproc [value] %[group] hard nproc [value] [user] hard nproc [value] @[group] - maxlogins [value] [user] hard cpu [value] [user] soft cpu [value] [user] hard locks [value]
[dominio] può essere:
- un nome utente
- un nome di gruppo, con sintassi @group
- il carattere jolly * , per la voce predefinita
- il carattere jolly % , può essere utilizzato anche con la sintassi %group, per maxlogin limit
[tipo] può avere i due valori:
- "morbido ” per far rispettare i limiti soft
- “difficile ” per l'applicazione di limiti rigidi
[item] può essere uno dei seguenti:
- nucleo – limita la dimensione del file principale (KB)
- dati – dimensione massima dei dati (KB)
- fsize – dimensione massima del file (KB)
- blocco memoria – spazio di indirizzi in memoria bloccata massimo (KB)
- nessun file – numero massimo di file aperti
- ss – dimensione massima del set residente (KB)
- impila – dimensione massima dello stack (KB)
- cpu – tempo massimo CPU (MIN)
- nproc – numero massimo di processi
- come – limite spazio indirizzi (KB)
- maxlogin – numero massimo di accessi per questo utente
- maxsyslogins – numero massimo di accessi al sistema
- priorità – la priorità con cui eseguire il processo utente
- serrature – numero massimo di blocchi di file che l'utente può mantenere
- firmato – numero massimo di segnali in sospeso
- Coda msg – memoria massima utilizzata dalle code di messaggi POSIX (byte)
- bello – priorità massima bella consentita per aumentare a valori:[-20, 19]
- rtprio – priorità massima in tempo reale
Maggiori dettagli possono essere trovati dal comando sottostante:
# man limits.conf