我已将权限/media/username
从[1] 调整root:root
为username:root
[2]。我理解以用户为中心的位置允许以用户为中心的权限 [3]。
root:root
但为什么首先要有这个文件夹的权限呢?
[1] 这样我就可以在那里挂载加密文件夹使用 Gnome EncFS Manager。例如,我现在可以将加密文件夹挂载为/media/username/personal-documents
。
[2] 来自为什么 Ubuntu 移动了默认挂载点?:
udisks2 默认行为改变的根本原因似乎很明显:安全性。将文件系统的访问权限限制为特定用户比授予系统所有用户访问权限更安全。
答案1
就我而言,情况如下/media
:
$ ls -l /media | grep $USER
drwxr-x---+ 3 root root 4096 Jan 22 15:59 oli
基本上,这意味着只有 root 用户才能与目录交互。这对于安全性来说非常好(当然可以阻止其他用户查看,更不用说窃取/删除/更改数据了),但故事并没有结束。
您可能会注意到权限掩码末尾有一个加号。这表示正在使用 ACL(访问控制列表)。这允许更细粒度的权限。
$ getfacl /media/$USER
getfacl: Removing leading '/' from absolute path names
# file: media/oli
# owner: root
# group: root
user::rwx
user:oli:r-x
group::---
mask::r-x
other::---
通过 ACL,我的用户可以看法的内容/media/oli
。我仍然无权编辑内容。
在现代桌面(Gnome 和 KDE)中进行安装的操作是udisks2
:
root 2882 0.3 0.0 195956 4048 ? Sl Jan16 30:35 /usr/lib/udisks/udisks-daemon
root 2887 0.0 0.0 47844 784 ? S Jan16 0:00 udisks-daemon: not polling any devices
root 3386 0.0 0.0 429148 6980 ? Sl Jan16 7:35 /usr/lib/udisks2/udisksd --no-debug
如您所见,它以 root 身份在那里运行,因此当某些东西通过 DBUS 访问它时,它能够在 /home/$USER 内创建挂载点并将其分配给您的用户,以便他们可以编辑内容。
这些都不会改变我最初说的话。我只是在解释它在实践中是如何运作的。这就是你的桌面上的某些东西实际上被允许写入只有 root 才允许的地方,以及你的用户尽管拥有受限制的所有权却被允许读取它的方式。
所有这些使它成为一个对用户数据安全的环境,但也使用户难以插手以及挂载点的结构。例如,他们不能删除挂载点或重命名它,除非他们有 root 访问权限,否则这可能会导致问题。
编辑:我刚刚想到的是,它还为管理员提供了一个为单个用户安装东西的好地方。权限默认情况下帮助保持此挂载的私密性并保护此挂载免受用户的干扰。对于没有目录/media/$user/
而需要 root 权限的操作,这似乎是一个相当合理的默认设置。
答案2
除此之外,我同意其他答案和评论
root:root
主要避免两种情况。1
. 安全风险:黑客脚本将 /dev/zero 转储到 /media/user/,这会填满根分区,因此无法登录或性能不佳。2
. 与 udisk2 冲突:假设分区带有标签备份。Udisks 将其挂载到 @ /media/user/backup 。用户手动创建了上述目录,这将强制 udisk 将挂载点更改为 /media/user/backup1 之类的位置,从而受到备份脚本等的误导。
答案3
Linux(和 *nix)的思维方式通常基于以下原则:Least amount of necessary privileges.
通常,现代Desktop Environments
会将您的设备安装在 下/media/username/devicepartitionname
。这意味着要使用该设备,您只需拥有该devicepartitionname
文件夹及其下方的任何内容。这意味着您的 文件夹/media/username
仍可归 拥有root
,这将使其更安全。
另外,安装任何东西都不/media/username
是好主意,因为这会让你DE
尝试将一个分区安装到另一个已安装分区上的文件夹中,这可能会导致很多!!乐趣!!(也可能造成数据丢失)。