Linux VM의 파일 권한 문제 - 파일을 읽을 수 없습니다.

Linux VM의 파일 권한 문제 - 파일을 읽을 수 없습니다.

Rocky Linux(9.1) 가상 머신을 구축했지만 일부 파일에 권한 문제가 있습니다. 또한 (링크된 "유사한 질문"을 살펴본 후) 이는 NFS나 원격 마운트가 아닌 로컬 마운트라는 점에 유의하세요.

파일의 익명 권한은 다음과 같습니다. -r--r--r--. 1 engineer myadmin <filesize> <date> filename.jar

SE Linux 환경의 경우: unconfined_u:object_r:defailt_t:s0 filename.jar

id사용자가 실행할 수 있는 다음 출력을 제공합니다.uid=1001(engineer) gid=1002(myadmin) groups=1002(myadmin),1001(engineer) context=unconfirmed_u:unconfirmed_r_unconfirmed_t:s0

파일을 읽으려고 하면 다음과 같은 상황이 발생합니다. cannot open 'filename.jar' for reading: Operation not permitted

파일 권한, 설치 옵션, SE Linux 권한 및 사용자 그룹을 살펴보았습니다. 사용자가 engineer파일을 읽을 수 있기를 바랍니다 .

드라이브 설치 옵션은 다음과 같습니다. rw,seclabel,relatime

파일을 읽으려는 모든 시도는 Operation not permitted.

내가 무엇을 놓치고 있나요?


의견에서 요청한 추가 정보:

결과 journalctl -n 100는 다음과 같습니다.

<timestamp> <hostname> login[<pid>]: pam_unix(login:session): session opened for user engineer(uid=1001) by engineer(uid=0)
<timestamp> <hostname> login[<pid>]: LOGIN ON pts/1 BY engineer

dmesg파일 열기 시도에 대한 정보는 제공되지 않습니다.

SE Linux는 이미 존재하지만 permissive모드이므로 어떠한 방식으로든 제한해서는 안 됩니다.

답변1

selinux그러나 접근을 차단 하지는 않습니다 fapolicyd. 구체적으로 이것은 규칙이다.deny_audit perm=any all: ftype=application/java-archive

해결책:

  • systemctl stop fapolicyd(파일 접근 정책 적용 비활성화)
  • 실행 fapolicyd --debug-deny(액세스가 허용되지 않음을 표시)
  • 이전에 표시된 파일을 열어보십시오.Operation not permitted
  • 어떤 규칙이 위반되는지 관찰하세요.
  • 맨페이지를 주의 깊게 읽고 fapolicy.rules(5)그룹이나 사용자가 Java 아카이브( .jar파일) 및 Java 애플릿( .class파일) 을 열 수 있도록 하는 새로운 규칙 파일을 작성하십시오.
  • fagenrules --load새로 생성된 규칙을 설치하려면 실행하세요 .
  • 중지하고 다시 시작하세요.fapolicy --debug-deny
  • 위와 동일한 파일을 열어서 실제로 열어보세요. (로깅 규칙 없음)
  • 문제를 해결하는 방법을 알고 있음을 보여주기 위해 응원하거나 주먹을 치켜세우세요. (이 단계는 선택 사항입니다.)
  • fapolicyd명령을 사용하여 다시 시작systemctl enable --now fapolicyd

관련 정보