Date: Mon, 20 Feb 2006 21:28:43 -0600 From: Tim Daneliuk <tundra@tundraware.com> To: Randy Pratt <bsd-unix@comcast.net> Cc: freebsd-questions@freebsd.org Subject: Re: Path And 'cron' Message-ID: <43FA88EB.9020103@tundraware.com> In-Reply-To: <20060220194218.27f2f710.bsd-unix@comcast.net> References: <43F8E25D.5030503@tundraware.com> <20060219164805.0de1772d.bsd-unix@comcast.net> <43F9EC82.80609@tundraware.com> <20060220194218.27f2f710.bsd-unix@comcast.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Randy Pratt wrote: <SNIP> >> 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. > I wonder if I can use the PATH=$PATH:/my/new/stuff formulation in a crontab file to preserve this default. I'll have to look into that. >> 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 > /usr/src/usr.sbin/cron/cron/pathnames.h : > > #ifndef _PATH_DEFPATH > # define _PATH_DEFPATH "/usr/bin:/bin" > #endif > > 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. That's what I was hoping for - tweaking the source is not a very clean way to solve my problem. In case you're interested (or anyone else listening), it seems that 'chown' likes to live in /usr/sbin - i.e., A place not in the default path. As it happens, a root cron task is trying to run a script that uses 'chown' and is thus failing. I can change the PATH just for root's crontab and solve the problem. I was just curious if there was a way to more broadly modify the defaults used by cron. Thanks again, for your time in this matter ... -- ---------------------------------------------------------------------------- Tim Daneliuk tundra@tundraware.com PGP Key: http://www.tundraware.com/PGP/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43FA88EB.9020103>