На самом деле все наоборот: /etc/security/limits.conf
контролирует вызовы, сделанные на getrlimit
и setrlimit
.
getrlimit
и setrlimit
чтение и запись состояния ядра, связанного с вызывающим процессом,Они не имеют доступа к любому файлу вообще.Как и большинство состояний ядра, связанных с конкретным процессом, ограничения ресурсов наследуются (копируются в) fork
дочерних элементов.
/etc/security/limits.conf
никогда не изменяется автоматически (кроме случаев, когдаобновление системы);он предназначен для системного редактора вручную.
Программа login
(технически модуль pam_limits , который он может загружать, и загружается в UbuntuКонфигурация 18 по умолчанию) читает /etc/security/limits.conf
и использует информацию в этом файле, чтобы сделать серию вызовов для setrlimit
, устанавливая ограничения ресурсов для начальной оболочки пользователя.Эти ограничения ресурсов затем наследуются всем процессам, запускаемым оболочкой, и так далее.