Изменения, сделанные по 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
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 для смены пользователя.