Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ukma!rutgers!att!occrsh!rjd From: rjd@occrsh.ATT.COM (Randy_Davis) Newsgroups: comp.bugs.sys5 Subject: Re: ulimit -- You don't need sources! Summary: WRONG.... Message-ID: <697@occrsh.ATT.COM> Date: 8 May 89 14:53:40 GMT References: <836@twwells.uucp> <4428@ihuxz.ATT.COM> <545@aurora.AthabascaU.CA> <5627@xyzzy.UUCP> <1153@unh.UUCP> <16463@rpp386.Dallas.TX.US> Reply-To: rjd@occrsh.UUCP (Randy_Davis) Organization: AT&T Network & Data Systems, OKC Lines: 28 In article <16463@rpp386.Dallas.TX.US> jfh@rpp386.Dallas.TX.US (John F. Haugh II) writes: |No - since UNIX forks init directly out of the kernel as root, why |not step in there and raise the ulimit before the real init gets to |run? | |Now you only have one wrapper instead of all the getty, login, cron, |and what-else-have-you versions. Wrong - all of these schemes to change the ulimit BEFORE the login program is run from the normal sequence init-getty-login-shell will not work!!! If the ulimit is set to some high number before login is run (and, in fact it IS), such as in the kernel, and if you are running a System V version before the ulimit was settable in the /etc/master.d/kernel file, the ulimit for logins is last set in the /bin/login program. So, setting your kernel, your init, or your getty ulimit higher would be fine, yet as soon as a person logs in and run this (pre-3.0) /bin/login, the line "ulimit(2,);" (near line 248 in the source if you are curious) would be implemented for all non-root logins, and you are back to where you started. To solve the problem on pre-3.0 release AT&T System V Unix operating systems for user logins, you must change the login program. On 3.0 and later releases, it is a tunable parameter in the /etc/master.d/kernel file. To change it for non-user process (cron, etc..), a change in the /etc/rc script might be sufficient. Randy Davis UUCP: ...(att!)ocrjd!randy ...(att!)occrsh!rjd