我上周安装了 FUSE,但在运行来宾安装时遇到了问题。应用程序尝试从用户空间读取内核映像。好的。 chmod 755,我正在做生意。还是..我想知道。内核默认以这种方式安装的技术原因是什么?为什么不被世界可读?
-rw------- 1 root root 7104112 Dec 11 09:36 vmlinuz-4.4.0-104-generic
-rw------- 1 root root 7141424 Feb 12 19:57 vmlinuz-4.4.0-116-generic
-rw------- 1 root root 7144816 Apr 2 14:05 vmlinuz-4.4.0-119-generic
我不可能是唯一一个因此而引发问题的人。
答案1
你的安装、umask什么的都没有问题。
对于Ubuntu:
这种模式的改变是“设计使然”。对于本地管理员来说,如何放宽此限制,您可以使用
dpkg-statoverride
:sudo dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-$(uname -r)
要让每个新内核自动发生这种情况,请创建
/etc/kernel/postinst.d/statoverride
(不要忘记 chmod +x):#!/bin/sh version="$1" # passing the kernel version is required [ -z "${version}" ] && exit 0 dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-${version}
我的观点是这是正确的解决方案之一;这是 Kees Cook 的评论(稍作修改和格式化)引用https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725。查看该内容以获取有关为何如此制作以及其他信息的更多信息。