如何使系统可以产生core文件

大家都知道修改/etc/security/limits.conf里,添加* soft core unilimited可以使系统产生core文件,但是这个操作的具体工具原理是什么呢?

其实这个是由pam来完成的,pam里有个模块叫pam_limits,它默认的会读取/etc/security/limits.conf文件来进行资源限制。而用户登录时会调用/etc/pam.d/login文件来进行检查,这个文件里标明了使用哪些模块。其中它include了一个叫system_auth的配置文件,在这个文件里有对pam_limits.so的调用。

今天在修改我们正在使用的几台Centos 5.3服务器时发现,即使修改了limits.conf,重启电脑之后ulimit -a看到的还是一样的,根本不可能产生core文件。于是上网查了半天发现,这个应该是被别的地方修改了,典型的几个地方有/etc/profile里以及/etc/init.d/functions里,这些文件在用户登录时会执行,因此即使pam修改了还是会被它改回去。仔细看了一下,果然它又改回到0去了,把那几行注掉重新登录果然ok了。

你可能感兴趣的:(core)