Libreoffice 5.4.5.1 在 NFS 挂载文件系统上被拒绝访问

Libreoffice 5.4.5.1 在 NFS 挂载文件系统上被拒绝访问

我今天使用 Ubuntu 17.10 和 Libreoffice 更新了所有内容。
尝试从我的 /Documents 文件夹打开 .od_ 文档现在会出现“拒绝访问”的错误(另请参阅问题 [拒绝访问 *.doc | Libreoffice 5.4.5.1

/在我的情况下,Documents 是通过 NFS 安装的。

将文档从 NFS 文件系统复制到本地 $HOME 是可行的,并且复制的文档可以用 Libreoffice 打开。
因此,该错误似乎只影响网络或可移动文件系统。

编辑:构建问题并将解决方案移至单独的答案

答案1

临时解决方案,直到重新启动(请参阅此错误libreoffice 无法打开不在 $HOME 内的文档):

sudo apparmor_parser -R /etc/apparmor.d/usr.lib.libreoffice.program.*

禁用用户配置文件的永久解决方案:

sudo ln -s /etc/apparmor.d/usr.lib.libreoffice.program.* /etc/apparmor.d/disable/

答案2

在互联网上搜索后,我在 Ubuntu One 中找到了介绍解决方案的帖子:https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/1751005/comments/10
据我所知,冗长的讨论与装甲防护有关。
我最终做了什么以及什么对我有帮助(不明白为什么 :(

sudo ln -s /etc/apparmor.d/usr.lib.libreoffice.program.* /etc/apparmor.d/disable/

但是现在重新启动 apparmor 服务会出现失败的情况。所以我不得不再次搜索,这解决了我的第二个问题。

sudo apt-get install apparmor-easyprof-ubuntu

但是,libreoffice 仍然无法打开我的文件。所以我重新启动了。重新启动后,我检查了 apparmor 的状态

sudo service apparmor status

交付

apparmor.service - AppArmor initialization
   Loaded: loaded (/lib/systemd/system/apparmor.service; enabled; vendor preset: enabled)
   Active: active (exited) since Thu 2018-02-22 23:43:41 CET; 47min ago
     Docs: man:apparmor(7)
           http://wiki.apparmor.net/
  Process: 945 ExecStart=/etc/init.d/apparmor start (code=exited, status=0/SUCCESS)
 Main PID: 945 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/apparmor.service

Feb 22 23:43:41 lnx54srv14 systemd[1]: Starting AppArmor initialization...
Feb 22 23:43:41 lnx54srv14 apparmor[945]:  * Starting AppArmor profiles
Feb 22 23:43:41 lnx54srv14 apparmor[945]: Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox
Feb 22 23:43:41 lnx54srv14 apparmor[945]: Skipping profile in /etc/apparmor.d/disable: usr.lib.libreoffice.program.oosplash
Feb 22 23:43:41 lnx54srv14 apparmor[945]: Skipping profile in /etc/apparmor.d/disable: usr.lib.libreoffice.program.senddoc
Feb 22 23:43:41 lnx54srv14 apparmor[945]: Skipping profile in /etc/apparmor.d/disable: usr.lib.libreoffice.program.soffice.bin
Feb 22 23:43:41 lnx54srv14 apparmor[945]: Skipping profile in /etc/apparmor.d/disable: usr.lib.libreoffice.program.xpdfimport
Feb 22 23:43:41 lnx54srv14 apparmor[945]: Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
Feb 22 23:43:41 lnx54srv14 apparmor[945]:    ...done.
Feb 22 23:43:41 lnx54srv14 systemd[1]: Started AppArmor initialization.

令人惊讶的是,Libreoffice 现在可以在我所有 NFS 安装的文档上再次运行。

但也许你应该查看注释 #18 以及 launchpad 上的更多内容。他们可能会提出另一个(更好的?)解决方案:https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/1751005/comments/18

答案3

为了解决这个问题,我通过在 AppArmor 配置文件 /etc/apparmor.d/usr.bin.evince 中添加以下行来解决这个问题:

 owner /path/to/mounted/filesystem/**  rw,

其次是

sudo apparmor_parser -r /etc/apparmor.d/usr.bin.evince

重新读取配置。

相关内容