Відповіді:
Зміни, внесені ulimitкомандою:
$ ulimit -n 4096
$ ulimit -Hn 16384
застосовуватиметься лише до поточного користувача та сеансу. Щоб зробити його постійним, вам слід змінити /etc/security/limits.conf, додавши свої обмеження:
* soft nofile 4096
* hard nofile 16384
Однак підстановка *не застосовуватиметься до rootкористувача. Для цього потрібно чітко вказати це:
* soft nofile 4096
* hard nofile 16384
root soft nofile 4096
root hard nofile 16384
Ці обмеження будуть застосовані після перезавантаження .
Якщо ви хочете застосувати зміни без перезавантаження , змініть /etc/pam.d/common-session, додавши цей рядок в кінці файлу:
session required pam_limits.so
При наступному вході ви повинні побачити оновлені ліміти, ви можете перевірити їх (м'які та жорсткі межі):
$ ulimit -a
$ ulimit -Ha
/etc/pam.d/common-session-noninteractiveвоно працювало.
pam_limits.soв/etc/pam.d/common-session. Я налаштував у/etc/security/limits.confкористувачеві x жорсткі та м'які обмеження дляnofile64000.sudo -u xПотімulimit -aмені показує, що зміни не застосовувалися. Я зрозумів , щоsuіsudoмають різні конфігурації Пем так, щоб змусити її працювати належним чином мені необхідно включитиpam_limits.soв систему/etc/pam.d/common-session-noninteractive. Якщо вам цікаво, що таке випадок використання - я використовую ansible і sudo, щоб змінити користувача.