/etc/shadow
권한이 000으로 설정되지 않은 경우 경고를 보내는 자동 기준 확인 기능이 있습니다 .
이러한 경고를 받은 직원은 000의 적법성에 의문을 제기하기 시작했습니다. 왜냐하면 루트는 원하는 곳 어디에서나 읽고 쓸 수 있기 때문입니다(모든 파일은 자동으로 루트의 경우 최소 600개입니다). 그러나 루트는 실행 권한이 설정되지 않으면 파일을 실행할 수 없습니다(자동 700 루트 없음). 파일 권한).
권한을 /etc/shadow
000으로 설정하는 것은 공식 Red Hat GitHub 저장소의 Ansible 플레이북(PCI DSS, CJIS, NIST, CCE용)과 같은 여러 기준에 있습니다.
/etc/shadow
동일한 기능을 가지고 있는 것처럼 보이는 600 대신 000이어야 하는 이유는 무엇입니까? 그 뒤에 이야기가 있나요? 아니면 Linux가 루트 사용자에 대해 얼마나 제한적/용서적인지에 대한 내 가정이 틀렸습니까?
답변1
권한을 000으로 설정하는 목적은 /etc/shadow
루트로 실행되는 경우에도 데몬에 의해 액세스가 제어되도록 하여 데몬이 파일에 액세스하지 못하도록 보호하는 것입니다.DAC_OVERRIDE
능력. Fedora 12 및 RHEL 6부터 Fedora 기반 시스템은 관리자 로그인 세션 권한을 DAC_OVERRIDE
부여 할 필요 없이 DAC_OVERRIDE
(관리자가 변경 사항을 볼 수 없도록) 데몬을 실행합니다.
바라보다낮은 공정 능력더 알아보기.
이는 600과 000 권한이 기능적으로 동일하지 않다는 사실에 기초합니다. 600은 파일 소유자에게 읽기 및 쓰기 권한을 부여하는 반면, 000은 DAC_OVERRIDE
해당 기능이 있는 프로세스에만 액세스 권한을 부여합니다. 전통적으로는 항상 루트로 실행 DAC_OVERRIDE
하지만 반드시 그럴 필요는 없습니다.
(SELinux는 루트의 기능을 제한하는 데에도 사용할 수 있지만 여기서는 다루지 않습니다. /etc/shadow
추가 액세스 제어를 제공하는 자체 SELinux 컨텍스트가 있습니다.)