Работают ли `getrlimit ()` и `setrlimit ()`, читая и записывая в `/ etc / security / limit.conf`? - PullRequest
0 голосов
/ 30 мая 2018

В Linux (например, Ubuntu 18.04 или другой), getrlimit() и setrlimit() работают, читая и записывая /etc/security/limits.conf?

Я пытаюсь понять отношения между getrlimit() иsetrlimit() и /etc/security/limits.conf.Спасибо.

1 Ответ

0 голосов
/ 30 мая 2018

На самом деле все наоборот: /etc/security/limits.conf контролирует вызовы, сделанные на getrlimit и setrlimit.

getrlimit и setrlimit чтение и запись состояния ядра, связанного с вызывающим процессом,Они не имеют доступа к любому файлу вообще.Как и большинство состояний ядра, связанных с конкретным процессом, ограничения ресурсов наследуются (копируются в) fork дочерних элементов.

/etc/security/limits.conf никогда не изменяется автоматически (кроме случаев, когдаобновление системы);он предназначен для системного редактора вручную.

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

...