Jednou z výhod Linuxu je, že na něm můžete ovládat téměř vše. To poskytuje správci systému velkou kontrolu nad svým systémem a lepší využití systémových prostředků.
I když některé možná nikdy nenapadlo to udělat, je důležité vědět, že v Linuxu můžete omezit množství zdrojů, které může jeden uživatel používat a na jak dlouho.
Čtěte také: Jak zvýšit limit počtu otevřených souborů v Linuxu
V tomto krátkém tématu vám ukážeme, jak omezit počet procesů spouštěných uživatelem a jak zkontrolovat aktuální limity a upravit je.
Než půjdeme dále, musíme upozornit na dvě věci:
- Abyste mohli upravit uživatelská omezení, potřebujete ke svému systému přístup root
- Pokud plánujete tyto limity upravit, musíte být velmi opatrní
Pro nastavení uživatelských limitů budeme muset upravit následující soubor:
/etc/security/limits.conf
Tento soubor se používá k použití ulimit vytvořený modulem pam_module .
Soubor má následující syntaxi:
<domain> <type> <item> <value>
Zde se zastavíme a probereme každou z možností:
- Doména – to zahrnuje uživatelská jména, skupiny, rozsahy vodítek atd
- Typ – měkké a tvrdé limity
- Položka – položka, která bude omezena – velikost jádra, velikost souboru, nproc atd
- Hodnota – to je hodnota pro daný limit
Dobrým příkladem limitu je:
@student hard nproc 20
Výše uvedený řádek nastavuje pevný limit na maximálně 20 procesů u "student"
skupina.
Pokud chcete vidět limity určitého procesu, můžete jednoduše „kočka“ soubor limitů takto:
# cat /proc/PID/limits
Kde PID je skutečné ID procesu, můžete zjistit ID procesu pomocí ps příkaz. Pro podrobnější vysvětlení si přečtěte náš článek, který říká – Najděte spuštěné procesy Linux a nastavte limity procesů na úroveň uživatele
Zde je příklad:
# cat /proc/2497/limits
Ukázkový výstup
Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 32042 32042 processes Max open files 1024 4096 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 32042 32042 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
Všechny řádky jsou do značné míry samozřejmé. Pokud však chcete zjistit více nastavení, můžete je zadat v limits.conf soubor, můžete se podívat na manuál poskytnutý zde.
Pokud máte nějaké dotazy nebo připomínky, neváhejte je odeslat v sekci komentářů níže.