Changing the Funnelback Install User

Hi Funnelback!

We’ve partnered with a client who has installed Funnelback indepedently, and in doing so, installed the software as root. Unfortunately, the level of access we’ve only been given, is search.

Normally, Funnelback is installed as the search user, so in an attempt to get it running as the search user, we updated the /opt/funnelback/conf/global.cfg file, changing the funnelback_user and funnelback_group settings to search from root.

We then asked the client sys admin to restart Funnelback services, but after, jetty web server appears to have gone kaput, and the admin interface is now longer loading. There’s also evidence on the file system of the application still running as root.

Does there happen to be a guide which exists on changing the user Funnelback runs as from the original user it was installed as? Are there other user settings outside of the global.cfg we need to be aware of?

Cheers.

Hi Tim,

Changing the funnelback_user and funnelback_group is indeed the right thing to do, but you will need to re-generate the OS service files and also change the permissions of the whole Funnelback folder. Because it has been installed as root all files will belong to root and the search user won’t be able to write to them.

That probably explains why Funnelback doesn’t start properly, because Jetty log files for instance will belong to root and the search user won’t be able to append to them.

To do so on Linux, you need to run this command (as root unfortuantely, as only root change change ownership of files it owns):

chown -R search:search /opt/funnelback

This is assuming your Funnelback OS user is named search and belongs to the search group, and that Funnelback is installed under /opt/funnelback. Amend the command according to your environment.

To regenerate the service files:

/opt/funnelback/linbin/ActivePerl/bin/perl /opt/funnelback/bin/setup/start_funnelback_on_boot.pl

You can check that the new Jetty service file contains the correct user in /opt/funnelback/services/jetty-webserver.service. It should contain 2 lines like:

...
wrapper.java.additional.2=-Djetty.groupname=search
wrapper.java.additional.4=-Djetty.username=search
...

Hope this helps,

Nico

2 Likes

Thanks Nico!

Sure does. In our case we decided to reinstall Funnelback, but it’s good to know about the jetty username and group settings.