如何在启动时为非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文件限制的正确方法是什么?

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

在您的系统中, su实用程序可能未被configuration为使用pam_limits模块(请参阅/etc/pam.d/su.conf文件),或仅在创build新的login会话(使用-- -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文件。