rc.d and environment variables

Victor Sudakov vas at mpeks.tomsk.su
Fri Dec 24 03:50:44 UTC 2010


Polytropon wrote:
> > 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.
> 
> Environmental variables cannot be controlled by the rc.d
> framework, as far as I understand. Using login classes to
> define them should be the correct way.
> 
> >From "man login.conf":
> 
> 	setenv	list	A comma-separated list of
> 			environment variables and
> 			values to which they are to
> 			be set.

I thought of that, and in fact I wrote about it in the very first
message: 

> > I tried to do this via a login class for the svn user, but it did
> > not work. If I first 'su -l svn' and then start the daemon
> > manually, the environment variable is set all right, but not when
> > it is started from /usr/local/etc/rc.d/svnserve.

> 
> What did you enter for the svnserve user in /etc/login.conf,

svn:\
        :setenv=KRB5_KTNAME=~/svn.keytab:\
        :tc=default:


> and did you make sure there is no override setting in the
> corresponding user's ~/.login.conf?

I am pretty sure because when I login interactively as svn, I see 

$ whoami
svn
$ printenv | grep KT
KRB5_KTNAME=/home/svn/svn.keytab
$

But it does not work for the rc.d script.

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


More information about the freebsd-questions mailing list