We have had enough pressure on the ulimit issue that in IN/ix (Interactive's SystemV based products) we provide a system-wide ulimit in /etc/environment processed by init, and a per-user ulimit in the "gecos" field of entries in /etc/passwd processed by login. Using /etc/profile works only if the users are forced to use sh as their login shell.