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