** Changed in: evince (Ubuntu) Status: New => In Progress -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to evince in Ubuntu. https://bugs.launchpad.net/bugs/1355804
Title: Evince apparmor settings not allowing sitewide dconf changes Status in “evince” package in Ubuntu: In Progress Bug description: Description: Ubuntu 14.04.1 LTS apt-cache policy evince evince-common evince: Installed: 3.10.3-0ubuntu10.1 Candidate: 3.10.3-0ubuntu10.1 Version table: *** 3.10.3-0ubuntu10.1 0 500 http://dk.archive.ubuntu.com/ubuntu/ trusty-updates/main i386 Packages 100 /var/lib/dpkg/status 3.10.3-0ubuntu10 0 500 http://dk.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages evince-common: Installed: 3.10.3-0ubuntu10.1 Candidate: 3.10.3-0ubuntu10.1 Version table: *** 3.10.3-0ubuntu10.1 0 500 http://dk.archive.ubuntu.com/ubuntu/ trusty-updates/main i386 Packages 100 /var/lib/dpkg/status 3.10.3-0ubuntu10 0 500 http://dk.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages There are a few issues here. The main problem is that the Evince apparmor settings does not honor site wide dconf settings as described in dconf(7). I'm currently preparing a multiuser setup where we need some site wide configurations, one of which affects Evince. Problem (1): As described in dconf(7) system wide settings can be made by creating and editing /etc/dconf/profile/user, which will be read if it exists. However if we do echo 'user-db:user' | sudo tee -a /etc/dconf/profile/user sudo dconf update evince We get the following warning (evince:9145): dconf-WARNING **: Unable to open /etc/dconf/profile/user: Permission denied and the following message in SYSLOG kernel: [ 1129.931888] type=1400 audit(1407843498.164:65): apparmor="DENIED" operation="open" profile="/usr/bin/evince" name="/etc/dconf/profile/user" pid=9145 comm="evince" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0 Indeed if we search through all files in /etc/apparmod.d , /etc/dconf is not mentioned anywhere. Possible solution: Add /etc/dconf/** r, to /etc/apparmor.d/abscractions/evince (I've added it at the end of the /etc/ list already there), and run sudo apparmor_parser -r /etc/apparmor.d/usr.bin.evince Then there are no complaints anymore Problem (2): Again reading dconf(7) it is recommended to change the settigns if /home is NFS mounted. Thus in /etc/dconf/profile/user we should replace /user-db:user' by 'service-db:keyfile/user' This causes a new permission denied problem. Remember to run 'sudo dconf update' and log out and ind again. (evince:19187): dconf-WARNING **: unable to open file '/run/user/1000 /dconf-service/keyfile/user': Failed to open file '/run/user/1000 /dconf-service/keyfile/user': open() failed: Permission denied; expect degraded performance from syslog: kernel: [ 5430.597984] type=1400 audit(1407848788.264:81): apparmor="DENIED" operation="open" profile="/usr/bin/evince" name="/run/user/1000/dconf-service/keyfile/user" pid=19188 comm=64636F6E6620776F726B6572 requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000 The apparmor files does mention '/run/user/' (in usr.bin.evince): # Maybe add to an abstraction? owner /{,var/}run/user/*/dconf/ w, owner /{,var/}run/user/*/dconf/user rw, however, this does not match 'dconf-service'. One can fix this by adding owner /{,var/}run/user/*/dconf-service/keyfile/ w, owner /{,var/}run/user/*/dconf-service/keyfile/user rw, to /etc/apparmor.d/abstractions/evince (I added them right after the other 'owner' lines at the top To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1355804/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp