[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