Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Dec 2010 09:13:53 +0600
From:      Victor Sudakov <vas@mpeks.tomsk.su>
To:        freebsd-questions@freebsd.org
Subject:   Re: rc.d and environment variables
Message-ID:  <20101224031352.GB16472@admin.sibptus.tomsk.ru>
In-Reply-To: <20101223191443.GA24653@gizmo.acns.msu.edu>
References:  <20101223172752.GA8539@admin.sibptus.tomsk.ru> <20101223201249.ea7648aa.freebsd@edvax.de> <20101223191443.GA24653@gizmo.acns.msu.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
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@sibptus.tomsk.ru



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101224031352.GB16472>