Date: Mon, 22 Mar 2021 09:50:06 -0400 From: "Dan Langille" <dan@langille.org> To: joe@thrallingpenguin.com Cc: freebsd-ports <freebsd-ports@freebsd.org> Subject: Re: FreeBSD Port: net/mosquitto pidfile or pid_file Message-ID: <21204ea5-091a-48bc-bdd4-8e0203215d79@www.fastmail.com> In-Reply-To: <8A3FBDC9-B1F2-41F2-B3EF-187E53AF9F85@langille.org> References: <8A3FBDC9-B1F2-41F2-B3EF-187E53AF9F85@langille.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Mar 19, 2021, at 4:14 PM, Dan Langille wrote: > Joe, > > I updated my mosquitto a few days ago and today it was restarted, but > won't start. I think it's related to the update. > > Mar 14 01:47:40 supernews pkg[40249]: mosquitto upgraded: 1.6.7_1 -> 2.0.8 > > The rc.d sript for net/mosquitto greps for pidfile. > > re: > https://svnweb.freebsd.org/ports/head/net/mosquitto/files/mosquitto.in?revision=481153&view=markup#l30 > > The documentation refers to pid_file, not pidfile. > > re: http://mosquitto.org/man/mosquitto-conf-5.html > > I think the rc.d script needs an update. I'd help with a patch, but I > can't get a working solution. > > $ grep pid /usr/local/etc/rc.d/mosquitto > pidfile=$(grep pid_file ${mosquitto_config} | awk '{print($2)}') > echo "pidfile = '$pidfile'" > rm -f $pidfile > > $ sudo service mosquitto start > pidfile = '/var/run/mosquitto.pid' > Starting mosquitto. > > $ ps auwwx | grep mos > dan 20215 0.0 0.0 11404 2260 1 S+ 20:12 0:00.00 grep mos > $ > > > > $ sudo /usr/local/sbin/mosquitto -c /usr/local/etc/mosquitto/mosquitto.conf -v > 1616184446: Error: Unable to write pid file. > > $ ls -ld /var/run > drwxr-xr-x 15 root wheel 1024 Mar 19 20:12 /var/run > > $ ls -l /var/run/mosquitto.pid > ls: /var/run/mosquitto.pid: No such file or directory Solved. At least for me. In addition to the rc.d file change: $ sudo mkdir /var/run/mosquitto $ sudo chown mosquitto:mosquitto /var/run/mosquitto Adjust /usr/local/etc/mosquitto/mosquitto.conf to use this new pid file location. Alter passwd file permissions: $ sudo chgrp mosquitto /usr/local/etc/mosquitto/mosquitto.passwd Modify certificate permissions: $ ls -l /us/usr/local/etc/ssl/example.org.key -rw------- 1 root wheel 1675 Apr 11 2018 /usr/local/etc/ssl/example.org.key $ sudo chgrp mosquitto /usr/local/etc/ssl/example.org.key $ sudo chmod g+r /usr/local/etc/ssl/example.org.key $ ls -l /usr/local/etc/ssl/example.org.key -rw-r----- 1 root mosquitto 1675 Apr 11 2018 /usr/local/etc/ssl/example.org.key Why all this? It seems that mosquitto is now dropping privs before writing the PID file and before reading the certificate and password files. Hope this helps -- Dan Langille dan@langille.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?21204ea5-091a-48bc-bdd4-8e0203215d79>