seperating user timezones from system timezones

Mailing Lists Catcher freebsd at kibserv.org
Sun Oct 5 19:41:55 PDT 2003


On Sun, 2003-10-05 at 14:02, Chuck Swiger wrote:
> Mailing Lists Catcher wrote:
> > How to I allow users access to their own timezone without affecting the
> > system processes?
> > 
> > All of my systems regardless of location have always been set to UTC so
> > logs and cron are in sync across timezones.
> 
> Hmm.  Unix has understood the notion of 'local time' versus UTC and most 
> programs do the right thing even if you set the timezone for the entire 
> system-- things like ntpd will syncronize via UTC even if TZ was set in their 
> environment.
> 
> If you want to run syslogd and cron in UTC, I believe you could do so by 
> setting something like this in /etc/rc.conf:
> 
> cron_program='/usr/bin/env TZ=UTC /usr/sbin/cron'
> syslogd_program='/usr/bin/env TZ=UTC /usr/sbin/syslogd'
> 
This I will try.

> > Recently I have had need to allow users to set their own timezone in the
> > .cshrc using:
> > sentenv TZ America/Detroit
> > or
> > sentenv TZ America/Denver
> > or whatever applies.
> 
> Of course, you meant 'setenv' and not 'sentenv'.
> 
yes...typo on my part. I did use setenv in the file....anything else
wouldnt have any affect.

> > But what I am finding out is that as long as the user is logged in it
> > sets the environment for the entire system affecting log timestamps as
> > well as cron events.
> 
> Unless you set TZ in /etc/profile, it should not have a universal effect.  Are 
> you sure you didn't kill and restart syslogd as root with TZ configured to a 
> non-UTC timezone?

Apparently it only affects my log files.  A bit of testing proved that
it does not seem to affect cron or syslog.  Root user has no TZ set as
root doesn't use X or any calendar or time based applications.

But it is clear that log entries are timestamped by the user who is
logged in at the time.  But from what I can see only logs created by
actions of that user get the users local timezone in the log file.

So I guess my only problem is a few strangly timestamped entries in my
log file.  My system doesnt generate much in the way of logs on its own
so its uncertain if a user logged in really affects a log entry not
generated by a user action.  If not then I guess I can live with a few
log anomalies.  But Bad SU to Root messages would be nice to have in UTC
and not the user's TZ that tried the SU.  I would hate to have to lookup
the TZ of the user each time I needed to know want a bad SU happened.
> 
> Maybe try setting TZ only if the shell is interactive, by adding the setenv 
> after the line "if ($?prompt) then"...?

I will also give this a try

Thanks

Jason Cribbins




More information about the freebsd-questions mailing list