我如何授予访客帐户对其主目录之外的文件夹的读取(或读写)权限?

我如何授予访客帐户对其主目录之外的文件夹的读取(或读写)权限?

我将一些内容存储在挂载/etc/fstab到该位置的外部分区 (ext4)/vms中。在该目录中,我有一个文件夹,shared所有本地用户(包括来宾会话)都应该可以访问该文件夹(当前为只读,以后可能是读写)。

但是,这chmod -R a+r /vms/shared使得所有标准用户都可以读取这些文件,但不能访问访客会话,据我所知,访客会话通过 AppArmor 或类似方式增加了另一层限制,拒绝访客访问他们家以外的所有内容。

我已经有一个单独的帐户guest-config,作为新访客会话的默认配置文件(/etc/guest-session/skel是一个符号链接/home/guest-config),以便能够调整访客配置文件设置,以防万一这会有所帮助。

如何解锁此特定目录(及其所有文件和子目录)以授予来宾帐户只读或读写访问权限?顺便说一下,使用 Ubuntu 16.04。

答案1

(从我的回答中复制这里,因为我首先看到了它,并且将其标记为后来提出的问题的重复似乎不太合适。)

访客会话使用 AppArmor 锁定,它使用一长串特殊权限来阻止访客用户接触任何内容。这些会话可通过 访问etc/apparmor.d/lightdm-guest-session

在我的计算机上,该文件如下所示:

# Profile for restricting lightdm guest session

#include <tunables/global>

/usr/lib/lightdm/lightdm-guest-session {
  # Most applications are confined via the main abstraction
  #include <abstractions/lightdm>

  # chromium-browser needs special confinement due to its sandboxing
  #include <abstractions/lightdm_chromium-browser>
}

打开“主要抽象”(etc/apparmor.d/abstractions/lightdm)会给出一些更有趣的东西:

...
/ r,
/bin/ rmix,
/bin/fusermount Px,
/bin/** rmix,
/cdrom/ rmix,
/cdrom/** rmix,
/dev/ r,
/dev/** rmw, # audio devices etc.
owner /dev/shm/** rmw,
/etc/ r,
/etc/** rmk,
...

这些是受限会话可以访问的所有目录及其权限。如果您将分区和共享文件夹添加到该列表(末尾带有/**包含所有子目录的行,以及r读取权限),则所有未来的来宾会话都将拥有对其的只读访问权限。

对于读写权限,使用rw;这是 的默认权限/var/guest-data。对于完整权限,使用rwlkmix;这是 中客户机拥有的驱动器的默认权限/media。这些代表读取、写入、链接、locK、内存映射和 Inherit-eXecute:最后一个赋予执行权限,但指定执行必须在当前限制内进行(因此您不能通过运行特制的 shell 脚本来突破客户机限制)。

相关内容