rc.d and environment variables
freebsd-questions at herveybayaustralia.com.au
Fri Dec 24 04:39:42 UTC 2010
On 12/24/10 13:50, Victor Sudakov wrote:
> 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
>>> 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,
>> 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
> $ printenv | grep KT
> But it does not work for the rc.d script.
Doesn't the rc.d script run as root initially and then a method (default
flags, etc) is used to change the owner to a nobody (restricted
privilege user)? Just my 2c, but please correct me if I'm wrong.
More information about the freebsd-questions