Как навсегда изменить открытые файлы (ulimit -n) для обычного пользователя в Debian Stretch?

Я хочу навсегда изменить настройки открытых системных файлов, но это не работает.

Мой логин - обычный пользователь, а не root. Я сделал следующую операцию:

файл /etc/sysctl.conf

$ grep 'fs.file-max' /etc/sysctl.conf
fs.file-max = 800000

файл /etc/security/limits.conf

$ grep nofile /etc/security/limits.conf
#        - nofile - max number of open files
* soft nofile 655360
* hard nofile 655360

Настройка /etc/security/limits.conf работает в CentOS/OpenSUSE, но не работает в Debian.

Добавить

session    required   pam_limits.so

в файл /etc/pam.d/common-session{,-noninteractive}, в файле /etc/pam.d/login он уже есть. Абсолютный путь

/lib/x86_64-linux-gnu/security/pam_limits.so

После перезагрузки выполните ulimit -n, вывод по-прежнему будет значением по умолчанию 1024.

$ ulimit -n
1024

Что я должен сделать, чтобы он вступил в силу?


person Community    schedule 27.09.2017    source источник


Ответы (1)


Это не проблема в Debian. Это проблема в systemd + gnome. systemd выбрал не читать и не использовать limit.conf, gdm выбрал позволить systemd установить свой лимит. ssh sudo su tty будет использовать /etc/seecurity/limits.conf как обычно. См. эту ошибку systmd --user не загружает лимиты из /etc/security/limits.d/ в Fedora. В обсуждении это решение работает для меня.

Создайте файл /etc/systemd/system/[email protected]/limit.conf, замените 1000 в качестве идентификатора пользователя, установите ограничение в этом файле, как в сервисе systemd:

[Service]
LimitNOFILE=655360
person leiqin    schedule 21.11.2017
comment
Для Oracle Linux 8.0 это был файл с именем /etc/systemd/system/[email protected]/limits.conf, также мне приходилось перезагружаться раньше, чтобы изменение было видно с помощью ulimit -a - person Douy789; 09.04.2020