/boot 디렉토리에는 어떤 권한이 있어야 합니까?

/boot 디렉토리에는 어떤 권한이 있어야 합니까?

/boot 디렉토리에 대한 루트 액세스 권한만 부여해야 한다는 Linux 보안 문서를 읽었습니다. 권한 측면에서 "루트만 /boot 디렉토리에 액세스할 수 있다"는 것은 무엇을 의미합니까? /boot를 700으로 설정하면 루트 그룹과 다른 사용자에게 권한을 부여하는 해당 디렉터리의 많은 파일에 더 이상 액세스할 수 없게 됩니까? (저의 경우 294개 파일에 최소한 다른 파일에 대한 읽기 권한이 설정되어 있었습니다.) /boot 디렉터리를 최소한 755로 설정하면 안 되나요? 그런데 이 경우 루트 액세스가 아닌 월드 액세스인가요? 실제로 질문은 다음과 같습니다. 루트 외에 /boot 디렉토리에 액세스해야 하는 다른 프로세스가 있습니까? 어떻게 확인하나요? /var/log/boot.log는 지금까지 어떤 답변도 제공하지 않습니다. 컴퓨터가 다음과 같이 부팅된다는 것을 이해합니다. 마더 BIOS/efi는 하드웨어를 확인하고 mbr/boot 미디어를 찾습니다. 그런 다음 부트로더를 로드하고 부트 제어권을 부여합니다. 그런 다음 부트로더는 커널을 로드하고 커널에 부팅 제어 기능을 제공합니다. 커널 시작 서비스(무엇보다도). 이러한 모든 작업은 루트만 수행합니까, 아니면 다른 사용자나 루트 그룹의 다른 구성원이 수행합니까?

/boot/grub2 디렉토리에도 마찬가지입니다. 기본적으로 이 디렉터리에 대한 권한은 700으로 설정됩니다.

ls -ld /boot/grub2 

drwx------. 4 root root 99 Aug 18 19:37 /boot/grub2

이 디렉터리에는 다음과 같은 많은 파일이 있습니다.

find /boot/grub2 -type f | wc -l 

282

하지만 그 중 2개만 다른 사람이 접근할 수 없습니다.

find /boot/grub2 -type f ! -perm /007 -printf '%y %u %g %m %p\n'

f root root 600 /boot/grub2/grubenv

f root root 600 /boot/grub2/user.cfg

그렇다면 왜 /boot/grub2를 700으로 설정해야 합니까? 이는 이 디렉토리에 설정된 권한과 일치하지 않습니까?

내가 거기에서 무엇을 놓치고 있는지 말해주세요.

감사합니다!

답변1

/boot/grub2아래에 파일이 없도록 설정하면 700일반 사용자는 권한에 관계없이 액세스할 수 있습니다. 부팅 중이나 부팅 후에는 이 디렉터리의 어떤 파일도 읽거나 사용되지 않습니다. user.cfg시작 비밀번호가 포함되어 있으므로 이 파일을 보호하는 것이 합리적이지만오직로컬 사용자의 경우. 간단히 말해서, 배포 기본값을 무시할 이유가 없습니다.

/boot/efi설정 해야 할 더 중요한 디렉터리 중 하나 는 700일반적으로 모든 사람이 기본적으로 파일을 변경할 수 있도록 허용하는 FAT 파티션이고 권한 없는 사용자가 UEFI 부팅 파일을 방해하는 것을 원하지 않기 때문입니다.

또는 /boot으로 설정할 수 있지만 배포 기본값을 변경하는 것은 의미가 없습니다. 이 디렉터리에는 로컬 사용자가 읽고 루트 액세스 권한을 얻을 수 있는 특수 파일이 없습니다. 또한 패키지 관리자나 배포 공개 파일을 사용하여 쉽게 액세스할 수 있습니다.755700vmlinuzinitrd

간단히 말해서, 당신은 존재하지 않는 보안 문제를 당신이 꾸며낸 것에 집착하고 있는 것입니다.

관련 정보