/var/log
루트 사용자 외에는 읽을 수 없도록 모든 파일을 잠그도록 지정되었습니다 . 이 문서 때문에 /var/log/boot.log
당황 했어요. 매번 시작할 때마다 파일이 이전 권한 상태와 상관없이 644 권한으로 설정되는 것 같습니다.
/etc/init.d
나는 많은 주요 파일과 기능에서 umask를 변경하려고 시도했지만 성공하지 못했습니다.
이 작업을 수행하는 특정 프로그램과 권한을 /var/log/boot.log
600으로 설정하는 방법을 아는 사람이 있습니까?
답변1
를 통해 fgrep -r boot.log /usr
다음과 같습니다plymouth
문제가 발생했습니다. Centos 6의 매뉴얼 페이지는 plymouth
약간 부족하지만 소스 코드를 검색하면 어딘가에 no_boot_log
전달하여 설정할 수 있는 옵션이 있다는 것을 알 수 있습니다 no-boot-log
(Plymouth의 로그가 없다고 가정). 아! 더 파고들면 세 번째 매개변수로만 설정하지 않는 한 호출 에 사용되는 매개변수를 world_readable
조정하는 플래그가 있습니다.mode
open(2)
log_is_opened = ply_logger_open_file (session->logger, filename, true);
슬픈 트롬본. 어쨌든 initrd 이미지를 조정하여 사용자 정의하거나 RedHat에 버그 보고서를 제출하고 a) 소스 코드 탐색이 덜 필요하도록 일부 문서를 작성할 수 있습니다. b) 어떻게든 커널을 통해 해당 모드를 구성하는 옵션을 제공할 수 있습니다. arg 또는 뭔가.
답변2
여기에서 답변을 위해 RHEL 지원에 문의한 후...
RHEL은 Plymouth가 범인임을 확인했습니다.
그들은 솔루션 문서(https://access.redhat.com/site/solutions/66805-- RHEL 구독자만 해당) 소스 코드에 더 엄격한 모드에서 로그를 열거나 생성하기 위한 플래그가 있지만 이 플래그는 외부에서 설정할 수 없으며(즉, 옵션 없음) 누구나 읽을 수 있도록 하드코딩되어 있는지 확인하세요.
RHEL 지원 문서에는 /etc/rc.d/rc.local 스크립트에 대한 chmoding이 내가 원하는 권한을 변경하는 방법이 될 것이라고 나와 있습니다.
정말 나쁘다!