From owner-freebsd-questions@FreeBSD.ORG Thu Dec 23 19:54:58 2010 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8E3371065673 for ; Thu, 23 Dec 2010 19:54:58 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from mx01.qsc.de (mx01.qsc.de [213.148.129.14]) by mx1.freebsd.org (Postfix) with ESMTP id 4E4D58FC1C for ; Thu, 23 Dec 2010 19:54:58 +0000 (UTC) Received: from r55.edvax.de (port-92-195-37-207.dynamic.qsc.de [92.195.37.207]) by mx01.qsc.de (Postfix) with ESMTP id 523083CE32; Thu, 23 Dec 2010 20:54:57 +0100 (CET) Received: from r55.edvax.de (localhost [127.0.0.1]) by r55.edvax.de (8.14.2/8.14.2) with SMTP id oBNJsuP5001908; Thu, 23 Dec 2010 20:54:56 +0100 (CET) (envelope-from freebsd@edvax.de) Date: Thu, 23 Dec 2010 20:54:56 +0100 From: Polytropon To: Jerry McAllister Message-Id: <20101223205456.21ddbe27.freebsd@edvax.de> 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> Organization: EDVAX X-Mailer: Sylpheed 2.4.7 (GTK+ 2.12.1; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Victor Sudakov , freebsd-questions@freebsd.org Subject: Re: rc.d and environment variables X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Polytropon List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Dec 2010 19:54:58 -0000 On Thu, 23 Dec 2010 14:14:43 -0500, Jerry McAllister wrote: > On Thu, Dec 23, 2010 at 08:12:49PM +0100, Polytropon wrote: > > > On Thu, 23 Dec 2010 23:27:52 +0600, Victor Sudakov wrote: > > > Colleagues, > > > > > > 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. > > I think that is the officially sanctioned way of doing such things. I'm not sure this will work. The initial question was about how to obtain an environmental variable. If the rc.d script of svnserve sources /etc/rc.conf and/or /etc/rc.conf.local, it is okay, but what if a binary wants to read the variable by the standard way, i. e. int main(int argc, char *argv[], char *envp[]) then there will be no access to files like /etc/rc.conf. This means the variable will have to be a validly set environmental variable that can be output by % env or a similar program (or mechanism). Settings from /etc/rc.conf do NOT show up as environmental variables. Anyway, if svnserve is able to be passed a command string to, a setting like svnserve_flags="... -k /home/svn/svn.keytab ..." coded in /etc/rc.conf or /etc/rc.conf.local would work, and would also be the preferred method for such things. In fact, I've not come across the need to have an environmental variable to store a configuration setting for an additional program, as such kind of variables is mainly for "low level" system use, mostly. -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...