Hello everybody, I've a brand new installation of cfengine on some Sun X4200 servers under solarisx86/10; using the Blastwave package of cfengine 2.1.20.
cfservd refuses to start because it can not write it's pid file:
#################
$ truss /opt/csw/sbin/cfservd -d -f /var/cfengine/inputs/cfservd.conf
[...]
sigaction(SIGUSR2, 0x08047830, 0x080478B0) = 0
listen(4, 50, SOV_DEFAULT) = 0
Listening for connections ...
write(1, " L i s t e n i n g f o".., 30) = 30
open64("/var/cfengine/cfservd.pid", O_WRONLY|O_CREAT|O_TRUNC, 0666) Err#13
EACCES [ALL]
cfservd: Could not write to PID file cfservd.pid
write(1, " c f s e r v d : C o u".., 49) = 49
getuid() = 5308 [5308]
getpid() = 25574 [25573]
Incurred fault #6, FLTBOUNDS %pc = 0xFEBFCDC0
siginfo: SIGSEGV SEGV_MAPERR addr=0x0000000E
Received signal #11, SIGSEGV [default]
siginfo: SIGSEGV SEGV_MAPERR addr=0x0000000E
$
##################
I looked into the source and found WritePID in locks.c which uses WORKDIR as
path for the pid file. In cfservd.c the WORKDIR should be set to homedir if
getuid>0 (l. 281). This seems not working as expected (the path is obviously
set to /var/cfengine and not to /var/cfengine/home/ which in my case is the
home of user cfengine). Is there a command line parameter for cfservd to set
the path for the pid file? Any other hint on how to change WORKDIR to some
place where an unprivileged user can write?
Thanks and Regards, Stefan Friedel
--
Zentrale Dienste - Interdisziplinäres Zentrum für Wissenschaftliches
Rechnen der Universität Heidelberg - IWR - INF 368, 69120 Heidelberg
[EMAIL PROTECTED] Tel +49 6221 54-8240 Fax -5224
IWR: www.iwr.uni-heidelberg.de HELICS: www.helics.uni-hd.de
signature.asc
Description: Digital signature
_______________________________________________ Bug-cfengine mailing list [email protected] https://cfengine.org/mailman/listinfo/bug-cfengine
