A maneira correta de configurar limites para serviços é fazê-lo dentro do arquivo .service
unit. Use os parâmetros LimitNOFILE=
e similares.
[Service]
LimitNOFILE=infinity
LimitNPROC=infinity
"Contas de usuário" são um conceito um pouco difuso no Linux. O processo de login interativo completo consiste em várias etapas independentes - definindo variáveis de ambiente, abrindo uma sessão do PAM, alterando o UID / GID, iniciando um shell no modo de login e executando o / etc / profile ...
A maioria dessas etapas não se aplica a serviços. Iniciar um serviço não constitui um "login" no Linux, por exemplo, PAM é não chamado. Quando você especifica um parâmetro User = na configuração do serviço (seja em systemd ou na configuração do próprio daemon), ele faz apenas uma coisa: alterar o UID / GID para o que você especificou.
Isso significa que quaisquer limites de /etc/security/limits.conf
não serão aplicados (porque isso exigiria o PAM), e todos os comandos de /etc/profile
não serão executados (isso exigiria um shell).