Відповіді:
Зміни, внесені 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 жорсткі та м'які обмеження дляnofile
64000.sudo -u x
Потімulimit -a
мені показує, що зміни не застосовувалися. Я зрозумів , щоsu
іsudo
мають різні конфігурації Пем так, щоб змусити її працювати належним чином мені необхідно включитиpam_limits.so
в систему/etc/pam.d/common-session-noninteractive
. Якщо вам цікаво, що таке випадок використання - я використовую ansible і sudo, щоб змінити користувача.