Linux 커널 이미지가 기본적으로 읽기 전용이 아닌 이유는 무엇입니까?

Linux 커널 이미지가 기본적으로 읽기 전용이 아닌 이유는 무엇입니까?

지난주에 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 등에 아무런 문제가 없습니다.

우분투의 경우:

이러한 패러다임의 변화는 "설계에 의한" 것입니다. 로컬 관리자의 경우 이 제한을 완화하는 방법은 다음과 같습니다 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. 왜 이런 방식으로 만들어졌는지 등에 대한 자세한 내용은 여기를 확인하세요.

관련 정보