Мне нужно установить значение ulimit во время загрузки для всех моих служб. У меня есть значения, установленные в /etc/sysconfig/limits.conf, но эти значения не применяются во время загрузки, и по умолчанию требуется 1024.
Я установил значения в limits.conf, а также проверил, содержит ли /etc/pam.d/* «необходимые записи pam_limits.so» и даже /etc/security/limits.d/90-nproc.conf не имеет значения по умолчанию записи.
Теперь я нашел другой способ включить значение во время загрузки, я наткнулся на файл / etc / sysconfig / init. Когда я устанавливаю значение в этом файле, все службы получают ожидаемое значение во время загрузки.
Теперь я не уверен, как это повлияет на сервер и какие вещи следует игнорировать при настройке в этом файле / etc / sysconfig / init. Также есть ли альтернатива, кроме этого файла или методов, упомянутых выше.
Улимиты не являются специфическими для служб или общесистемными, они специфичны для отдельных учетных записей. Мягкий предел в /etc/security/limits.conf
должно быть тем, что отображается по умолчанию при запуске службы; похоже, что в вашем случае этого не происходит, поэтому я бы начал смотреть на точечные файлы для пользователей, запускающих указанные службы, или на фактический сценарий инициализации для рассматриваемых служб . У меня такое ощущение, что ваш ulimit установлен в одном из этих двух мест и, таким образом, отменяет /etc/security/limits.conf
ценности.
Файл /etc/security/limits.conf
используется PAM, но PAM используется, когда пользователь входит в систему. Однако когда службы запускаются, они не проходят через PAM, поэтому limits.conf
не помогает. Службы запускаются системой инициализации, и их настройки зависят от используемой системы. Если вы используете выскочку, его можно настроить в /etc/sysconfig/init
общесистемный или внутри /etc/sysconfig/<servicename>
за услугу. В мире systemd ulimit можно установить в служебных файлах с помощью usint. Limit<type>=
, Я не знаю, как это сделать в масштабе всей системы. С OpenRC вы можете установить rc_ulimit=
на службу или в масштабе всей системы в /etc/rc.conf
.
Я использовал тот метод, о котором вы говорите, чтобы установить ulimit
и umask
для файлов, созданных пользователем Apache. То есть я редактировал /etc/init.d/httpd
и включал umask
и ulimit -s
конфигурация, которая решила мою проблему, поэтому я думаю, что это хорошее решение. Никакого воздействия, кроме ожидаемого, не произошло.