为什么/ media / username root的默认权限是root?

我已经将/media/username上的权限从root:rootusername:root [1]。 我知道以用户为中心的位置允许以用户为中心的权限[2]。

但是为什么这个文件夹的权限为root:root呢?


[1]这样我就可以使用Gnome EncFS Manager 在那里挂载加密文件夹 。 例如,我现在可以将加密文件夹挂载为/media/username/personal-documents

[2] 为什么Ubuntu移动了默认挂载点? :

udisks2中这种默认行为更改的根本原因似乎很清楚:安全性。 将访问文件系统限制为一个特定用户而不是将其访问权限给系统的所有用户更安全。

就我而言,这就是事物在/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:rx group::--- mask::rx 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权限。

除此之外,我同意其他答案和评论

root:root主要避免两种情况。
1.安全风险:将/ dev / zero转储到/ media / user /的黑客脚本,它填充根分区,因此无法登录或性能不佳。
2.与udisk2冲突:假设具有标签备份的分区。 Udisks将它挂载@ / media / user / backup。 用户手动创建了上面的目录,这将强制udisk将挂载点更改为/ media / user / backup1,从而误导备份脚本等。

Linux(和* nix)的心态通常基于Least amount of necessary privileges.的原则Least amount of necessary privileges.

通常,现代Desktop Environments会将您的设备安装在/media/username/devicepartitionname 。 这意味着要使设备可用,您只需拥有devicepartitionname文件夹及其下面的任何内容。 这意味着您的/media/username文件夹仍然可以由root拥有,这将使其更安全。

/media/username上安装任何东西都是一个坏主意,因为这将使你的DE尝试将分区安装到另一个已安装分区的文件夹中,这可能导致很多!!有趣! (也可能是数据丢失)。