내 RHEL 7.7 시스템에서 사용자 foo가 /var/log/ 디렉터리 아래의 모든 항목을 읽고 실행(쓰기 아님)하여 파일, 하위 디렉터리 및 해당 하위 디렉터리 내의 파일을 포함하도록 허용하려고 합니다. 다양한 명령을 시도했지만 setfacl
아무것도 재귀적으로 작동하지 않는 것 같습니다. 이는 foo가 rX 권한으로 /var/log/에 액세스할 수 있도록 허용하지만 그 아래의 하위 디렉터리나 파일에는 액세스할 수 없습니다.
다음 변형을 시도했지만 foo가 /var/log/ 아래 하위 디렉터리에 액세스하는 데 성공하지 못했습니다.
setfacl -Rm d:u:foo:rX,u:foo:rX /var/log
setfacl -Rm u:foo:rX,d:u:foo:rX /var/log
setfacl -R -m u:foo:rX /var/log
setfacl -m u:foo:rX /var/log
나는 이 시점에서 꽤 길을 잃었고 향후 폴더와 파일(기존 파일은 물론)이 foo가 올바르게 액세스할 수 있도록 보장하기 위해 setfacl
over를 사용하고 싶습니다 .chmod
고쳐 쓰다: 시스템에 시행 모드의 selinux가 있습니다. 나는 그것을 permissive, authenticated로 설정한 getenforce
다음 setfacl
사용자 foo를 사용하여 명령을 실행하여 테스트했지만 성공하지 못했습니다. 시스템을 다시 시행 모드로 설정합니다.
답변1
답변이 아닌 코멘트여야 하는데, 코멘트할 포인트가 부족합니다. 이는 SELinux로 인해 발생할 수 있습니다. 상태를 확인 getenforce
하거나 sestatus
. 상태가 적용인 경우 setenforce Permissive
명령을 반복하여 차이가 있는지 확인할 수 있습니다. 하지만 SELinux를 비활성화하는 것은 권장하지 않습니다. 상태 변경이 영향을 미치는 경우 /var/log SE 레이블을 변경해야 합니다.