rc.d and environment variables
Victor Sudakov
vas at mpeks.tomsk.su
Fri Dec 24 03:13:56 UTC 2010
Jerry McAllister 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).
> >
> > 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.
> >
>
> Put it in /etc/rc.conf and have your script read up rc.conf and
> set any of the stuff in there it is interested in, such as KRB5_KINAME.
What "my script" do you mean? The script /usr/local/etc/rc.d/svnserve
is already installed by the port, how can I make the stock script read
up KRB5_KTNAME from rc.conf? And besides, KRB5_KTNAME should be only
defined for the svn user (the user svnserve runs from) and not any
other user.
> I think that is the officially sanctioned way of doing such things.
Of course I can always write my own script or put something like
su -l svn -c 'usr/local/bin/svnserve -d --listen-port=3690 bla bla'
into /etc/rc.local, but the question was about the rc.d framework.
--
Victor Sudakov, VAS4-RIPE, VAS47-RIPN
sip:sudakov at sibptus.tomsk.ru
More information about the freebsd-questions
mailing list