Path And 'cron'
bsd-unix at comcast.net
Mon Feb 20 16:41:57 PST 2006
On Mon, 20 Feb 2006 10:21:22 -0600
Tim Daneliuk <tundra at tundraware.com> wrote:
> Randy Pratt wrote:
> > On Sun, 19 Feb 2006 15:25:49 -0600
> > Tim Daneliuk <tundra at tundraware.com> wrote:
> >>Where is the default path for cron jobs established? (And can it
> >>be changed...)
> > Take a look at:
> > http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-cron.html
> > and see if that answers your question.
> > Best regards,
> > Randy
> > --
> Well ... it answered my question partially. But as I looked back over
> it, I realized my central questions are still unanswered:
> If I do not have a PATH= statement in a particular user's crontab,
> what is used for a default PATH?
>From "man 5 crontab" :
Several environment variables are set up automatically by the cron
(8) daemon. SHELL is set to /bin/sh, PATH is set to /usr/bin:/bin,
and LOGNAME and HOME are set from the /etc/passwd line of the
crontab's owner. HOME, PATH and SHELL may be overridden by
settings in the crontab; LOGNAME may not.
> Is the path in /etc/crontab inherited somehow?
> Given that the default shell is /bin/sh, are the settings
> in /etc/profile observed? If no PATH is established there either,
> what will cron use?
> I am trying to determine the best place to establish correct global
> PATH settings for all cron users so I don't have to edit each users'
> crontab file when file locations are updated or changed.
It seems that the PATH is being set in the source code, in particular
# define _PATH_DEFPATH "/usr/bin:/bin"
I suppose its possible to change the source and rebuild but there may
be subtle interactions that aren't readily apparent that would need to
be considered. There may even be a knob to tweak somewhere for this.
Sorry I can't give you a definitive answer on this. Perhaps someone
with more direct experience can give you proper guidance here.
More information about the freebsd-questions