Linux limits.conf解释与应用


 limits.conf的工作原理:


    limits.conf的后端是这样工作的:limits.conf是pam_limits.so的配置文件,然后/etc/pam.d/下的应用程序调用pam_***.so模块。譬如说,当用户访问服务器,服务程序将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目录下选择一个对应的服务文件,然后根据服务文件的内容选择具体的PAM模块进行处理。

    例:限制admin用户登录到sshd的服务不能超过2个

    在/etc/pam.d/sshd 中添加 session required pam_limits.so

    在/etc/security/limits.conf中添加 admin - maxlogins 2

    查看应用程序能否被PAM支持,用ldd

    limits.conf文件的参数

    Limits.conf文件的参数可以设置成以下两种形式之一:

    暂时地,适用于通过 ulimit 命令登录 shell 会话期间。

    永久地,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件之一(例如 ~/.profile),即特定于 shell 的用户资源文件;或者通过编辑 /etc/security/limits.conf.

    1.core - 限制内核文件的大小

    何谓core文件,当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 core文件是个二进制文件,需要用相应的工具来分析程序崩溃时的内存映像。

    系统默认core文件的大小为0,所以没有创建。可以用ulimit命令查看和修改core文件的大小。

     $ulimit -c

0

$ ulimit -c 1000

$ ulimit -c

1000


    -c 指定修改core文件的大小,1000指定了core文件大小。也可以对core文件的大小不做限制,如:

     # ulimit -c unlimited

#ulimit -c

unlimited


    如果想让修改永久生效,则需要修改配置文件,如 .bash_profile、/etc/profile或/etc/security/limits.conf.

    2.nofile - 打开文件的最大数目

    对于需要做许多套接字连接并使它们处于打开状态的应用程序而言,最好通过使用 ulimit –n,或者通过设置nofile 参数,为用户把文件描述符的数量设置得比默认值高一些

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3