Linux 的 /boot 保存着内核和启动内容。这些不是您希望普通用户访问的那种数据。那么为什么它们甚至可以被普通帐户读取呢?这是安全模型的某种技术限制,还是有一个实际有效的逻辑原因要求它必须是全球可读的(Ubuntu1604)?就我个人而言,如果它是 700,我会觉得“更安全”。我无法想象除了安装程序之外的任何 shell 脚本需要在启动后访问 /boot,而且安装程序无论如何都是以 root 或 sudo 身份运行的。
答案1
为什么不应该这样?大多数 Linux 机器中没有任何敏感信息/boot
。这就像允许每个人读取/usr/lib
或/bin
访问系统上任意数量的其他目录一样。
我担心的是,非特权用户是否能够调整文件,因为这将使他们能够通过启动特殊的后门内核或诸如此类的东西来更直接地访问特权升级。
答案2
Xiong Chiamiov 的回答很好,但我想强调一下这个问题的另一个方面。(我的回答是一般性的,不仅限于访问/boot/
。)
这些并不是您希望普通用户可以访问的数据类型。
嗯,我经常想这么做。允许普通用户阅读几乎任何内容对他们来说是一种很好的支持,当他们想学习关于 Linux。假设我以普通用户身份登录。
- 即使
root
可以访问(例如,在我自己的系统上),我也可以作为普通用户浏览目录,阅读配置和脚本,将它们与手册或在线文章进行比较。我不必担心由于误点击或其他意外而损坏某些东西。如果我最后需要更改任何内容,那么我sudo
只用它来做这件事。 - 由于没有
root
访问权限(在别人的系统上),我可能会对管理员如何设置系统以如此这般方式工作感兴趣。