As you mentioned ubuntu 14.04 and 16.04, i would investigate the following before suspecting permissions issues on /dev/dvb/adapter...
The following is a description of issues I have encountered when upgrading or even a fresh install, with solutions I have used. Note that there are many posts on various forums concerning these issues.
1. Ubuntu 16.04 and later uses systemd instead of upstart when it boots, this change has impacted certain configurations with mythtv. There are two main problems at boot time, one being mythbackend can startup before networking, mysql and device drivers for tuners have fully initialized, this causes various problems with mythbackend. A simple test is to restart mythbackend by doing" sudo systemctl restart mythtv-backend.service" , if everything now works, a simple, pragmatic, solution is to delay mythbackend startup for a number of seconds. This is done by creating an override file (which will survive mythtv updates) for the mythtv-backend.service file :
sudo systemctl edit mythtv-backend.service and then add the following two lines
Then exit from the edit screen (it uses nano by default, so Ctrl+x, then
y, then Return key) then either reboot the machine or do "sudo systemctl
2. The other boot time issue, but only if you have multiple types of tuner, in that the order of initialization can vary between reboots and this confuses mythtv as it could for example try to use an OTA tuner that was the first device on one boot, but becomes a different type at the next boot. Being in the UK I have OTA (DVB-T tuners) and Satellite (DVB-S tuners) so if these get swapped around between boots, mythtv will have all sorts of problems. There are two solutions to this, one is to use a configuration file in /etc/modprobe.d, the other is to setup udev rules.
3. An issue that can cause mysql not to start, is where "Enable MySQL performance tweaks" in mythbuntu-control-center has been enabled, and mysql get updated to version 5.7 which does not like one of the entries, specifically "table_cache=128". The performance tweaks file (mythtv-tweaks.cnf) is typically in /etc/mysql/conf.d/. If you have this problem (error.log in /var/log/mysql/ has an entry "unknown variable 'table_cache=128' ) you can comment out the line in mythtv-tweaks.cnf, or even just delete the mythtv-tweaks.cnf file, then reboot the machine.
4. mythtv-setup does not always stop mythbackend, both running at the same time can cause strange issues. Always ensure mythbackend is stopped before running mythtv-setup, this is done with sudo systemctl stop mythtv-backend.service