지난주에 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. 왜 이런 방식으로 만들어졌는지 등에 대한 자세한 내용은 여기를 확인하세요.