[plug] /etc/profile
Brian Tombleson
Brian at ParadigmIT.com.au
Mon Aug 14 09:52:16 WST 2000
> Can someone please explain the following lines from /etc/profile?
> ulimit -c 1000000
from the bash(1) man page:
ulimit [-SHacdfmstpnuv [limit]]
Ulimit provides control over the resources available to the
shell and to processes
started by it, on systems that allow such control. The value
of limit can be a number
in the unit specified for the resource, or the value
unlimited. The H and S options
specify that the hard or soft limit is set for the given
resource. A hard limit cannot
be increased once it is set; a soft limit may be increased up
to the value of the hard
limit. If neither H nor S is specified, the command
applies to the soft limit. If
limit is omitted, the current value of the soft limit of
the resource is printed,
unless the H option is given. When more than one resource is
specified, the limit name
and unit is printed before the value. Other options are
interpreted as follows:
-a all current limits are reported
-c the maximum size of core files created
-d the maximum size of a process's data segment
-f the maximum size of files created by the shell
-m the maximum resident set size
-s the maximum stack size
-t the maximum amount of cpu time in seconds
-p the pipe size in 512-byte blocks (this may not be set)
-n the maximum number of open file descriptors (most
systems do not allow this
value to be set, only displayed)
-u the maximum number of processes available to a single
user
-v The maximum amount of virtual memory available to the
shell
An argument of -- disables option checking for the rest of
the arguments. If limit is
given, it is the new value of the specified resource (the -a
option is display only).
If no option is given, then -f is assumed. Values are in
1024-byte increments, except
for -t, which is in seconds, -p, which is in units of 512-byte
blocks, and -n and -u,
which are unscaled values. The return status is 0 unless an
illegal option is encoun
tered, a non-numeric argument other than unlimited is supplied
as limit, or an error
occurs while setting a new limit.
.. so in summary, no user will generate a core file size greater than
1,000,000 (Kb?)
> if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
id -gn == name of group
id -un == name of user
id -u == user ID (number)
So .. if the group name equals the user name AND the user ID is over 14,
then do whatever code followed.
Hope this helps (and someone correct me if I'm wrong :)
- Brian
More information about the plug
mailing list