rc.d and environment variables

Victor Sudakov vas at mpeks.tomsk.su
Fri Dec 24 03:07:39 UTC 2010

Polytropon wrote:
> > 
> > The svnserve daemon is started from /usr/local/etc/rc.d/svnserve. I need to
> > pass the environment variable KRB5_KTNAME=/home/svn/svn.keytab to the
> > daemon on start. How do I do that?
> If the user corresponding to the svnservice has a login
> shell, which would usually be the system's default
> dialog shell, the C shell, you could edit /etc/csh.cshrc
> and put
> 	setenv KRB5_KTNAME /home/svn/svn.keytab
> to make it a system-wide setting (or use the user's
> ~/.cshrc for a user-only setting).

I have tried putting "setenv KRB5_KTNAME /home/svn/svn.keytab" in
~svn/.cshrc, it does not help. Evidently the svn user's login shell is
not called when "/usr/local/etc/rc.d/svnserve start" is called.

> In case the user does NOT have a default shell, I think
> you should be able to also define a system-wide environmental
> variable by coding
> 	KRB5_KTNAME=/home/svn/svn.keytab; export KRB5_KTNAME
> into /etc/rc.local (which will be executed at system startup).
> See "man rc.local" for details.

Excuse me? What does /etc/rc.local have to do with the rc.subr

Of course I can abandon the standard /usr/local/etc/rc.d/svnserve
script and write my own one, or start svnserve from /etc/rc.local
(which I will do if I don't find a more graceful way), but it is not
what the question was about. 

Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
sip:sudakov at sibptus.tomsk.ru

More information about the freebsd-questions mailing list