提高服务(而非用户)的文件限制

提高服务(而非用户)的文件限制

我在这里看到过各种关于提高特定用户的 Linux 系统上的打开文件限制的帖子(根据所讨论的 Linux 发行版,具体执行方式有多种不同)。

我有一台运行 Dovecot 的 Ubuntu 8.04.4 LTS 服务器,用户名为“dovecot”;

ps aux | grep dovecot
dovecot    473  0.0  0.0  14320  2152 ?        S    12:11   0:00 imap-login
dovecot   1619  0.0  0.0  14324  2096 ?        S    Jan25   0:05 imap-login
dovecot   2652  0.0  0.0  14180  1892 ?        S    13:44   0:00 pop3-login
dovecot   3627  0.0  0.0  14180  1892 ?        S    14:13   0:00 pop3-login
dovecot   3776  0.0  0.0  14180  1892 ?        S    14:16   0:00 pop3-login
dovecot   4056  0.0  0.0  14320  2112 ?        S    14:19   0:00 imap-login
.....

ps aux | grep dovecot | wc
    178

如何提高服务的打开文件限制?我是否对运行服务的用户执行相同的操作来提高使用限制?

因此,在这个系统上,我可以增加 /etc/security/limits.conf 中对 dovecot 用户的限制,但这与我的服务有何关系?我是否需要重新启动服务才能使新设置生效,或者当新进程生成时,它们是否会继承新设置?

我看不出改变此限制将如何与长期运行的服务(而不是登录和退出的用户)联系起来。

答案1

“我是否对服务运行的用户执行相同的操作来提高使用限制?” - 是的。服务在用户的限制下运行,因此一旦提高限制并重新启动服务,它将具有新的限制。

答案2

对于 CentOS 7(我假设任何其他 systemd-converts 也是如此),您需要编辑服务文件。您可以使用它来简单地覆盖服务文件,以便升级安全:

systemctl edit dovecot.service

然后添加:

[Service]
LimitNOFILE=4096

将 4096 更改为您想要的任何值。

相关内容