如何在启动时为非 root 用户设置硬文件和软文件限制?

如何在启动时为非 root 用户设置硬文件和软文件限制?

我有一个 xen HVM vps,我正在尝试在启动时提高无人的硬文件和软文件限制。我使用的是 Ubuntu 10.04.3,在 /etc/security/limits.conf 中我有:

nobody       soft    nofile   10000
nobody       hard    nofile  30000

但是当我检查文件限制仍然是默认的 1024 时:

su nobody -c 'ulimit -Hn'
1024
su nobody -c 'ulimit -Sn'
1024

提高 Ubuntu 文件限制的正确方法是什么?

答案1

/etc/security/limits.conf 文件由 PAM 模块处理pam_limits,用于为用户会话分配资源限制。这些仅pam_limits在会话设置期间使用 PAM 和模块时才适用。

在您的系统中,该su实用程序可能未配置为使用该pam_limits模块(参见/etc/pam.d/su.conf文件)或仅在创建新的登录会话(使用--l--login选项调用)时使用该模块。

尝试使用

su - nobody -c 'ulimit -Hn'

或添加

session     required    pam_limits.so

/etc/pam.d/su或/和/etc/pam.d/su-l

也可能是您的su实用程序根本没有编译 PAM 支持。在这种情况下,它将永远不会使用该limits.conf文件。

相关内容