sudo всегда устанавливает пределы процесса для чисел из /etc/security/limits.d?

Я наблюдал следующее поведение:

[ec2-user@ip-10-66-68-55 ~]$ uname -a Linux ip-10-66-68-55 3.4.103-76.114.amzn1.x86_64 #1 SMP Fri Sep 12 00:57:39 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux [ec2-user@ip-10-66-68-55 ~]$ ulimit -H -n; ulimit -S -n 1000 1000 [ec2-user@ip-10-66-68-55 ~]$ cat /etc/security/limits.d/80-nofile.conf ec2-user hard nofile 123456 ec2-user soft nofile 123456 [ec2-user@ip-10-66-68-55 ~]$ bash -c 'ulimit -H -n; ulimit -S -n' #I expect this limit to be 1000, same as above. it is. 1000 1000 [ec2-user@ip-10-66-68-55 ~]$ sudo -u ec2-user bash -c 'ulimit -H -n; ulimit -S -n' #I expected this limit to be 1000, the same as if I had not called sudo -u ec2-user #Instead, I get the one from limits.d/80-nofile.conf. 123456 123456 

Быстрый поиск по странице sudo man не показывал прямой ссылки на / etc / security / limits.

Я хочу полагаться на это поведение, чтобы гарантировать, что демона, которого я волнует, запускает с ограничениями, установленными на 80-nofile.conf, но я не знаю, насколько это достоверно. Это где-то задокументировано?

Какие типы файлов / переменных конфигурации влияют на это поведение? могу ли я сказать sudo, чтобы не отменять текущие ограничения?

  • Использование sudo без ввода sudo более одного раза за сеанс sudo?
  • sudo -u имя пользователя -s "cmd arg" возвращает команду не найдена
  • при синхронизации времени выполнения команды с помощью sudo `time` должно быть до` sudo` или после `sudo`?
  • Почему безопаснее предоставлять права sudo для пользователя без root?
  • Отслеживание выполнения команд после sudo другому пользователю
  • sudo не сохраняет PATH
  • Безопасность sudo не запрашивает пароль после первого раза
  • Почему sudo медленно, когда я ошибаюсь в моем пароле?
  • 2 Solutions collect form web for “sudo всегда устанавливает пределы процесса для чисел из /etc/security/limits.d?”

    Вероятно, вы должны заглянуть в файл /etc/pam.d/sudo и проверить, требуется ли в нем файл pam_limits.so или в любом из других файлов, которые он включает.

    Например, файл /etc/pam.d/sudo в моей системе выглядит ниже.

     #%PAM-1.0 auth required pam_env.so readenv=1 user_readenv=0 auth required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0 @include common-auth @include common-account @include common-session-noninteractive 

    Теперь вы можете искать pam_limits.so в других файлах, которые включены с помощью параметра @inlude .

    Спасибо @hrv за понимание. Я подтвердил это после быстрого эксперимента: когда /etc/pam.d/sudo включал pam_limits.so, тогда запуск sudo действительно их установил, а когда /etc/pam.d/sudo не включил их, то запуск sudo не устанавливали их.

    Я проверил несколько разных машин, и один из них включил pam_limits.so в /etc/pam.d/sudo, а другой – нет.

    Linux и Unix - лучшая ОС в мире.