루트 아래/usr/lib의 심볼릭 링크에서 SELinux 컨텍스트 또는 ACL을 제거할 수 없습니다.

루트 아래/usr/lib의 심볼릭 링크에서 SELinux 컨텍스트 또는 ACL을 제거할 수 없습니다.

저는 Fedora 27을 사용하고 있는데 전달하는 데 문제가 있습니다 dnf update. 문제는 여기에 설명되어 있습니다.https://superuser.com/q/1005740/683161

심볼릭 링크를 제거하려고 시도했지만 /usr/lib루트에서도 제거할 수 없습니다.

vplagov@thinkpad:~ $ sudo rm -f /usr/lib/cpp 
rm: cannot remove '/usr/lib/cpp': Operation not permitted
...
vplagov@thinkpad:~ $ file /usr/lib/cpp 
/usr/lib/cpp: symbolic link to ../bin/cpp
...
vplagov@thinkpad:~ $ ls -al /usr/lib/cpp 
lrwxrwxrwx. 1 root root 10 Sep 15 15:01 /usr/lib/cpp -> ../bin/cpp

파일 권한 끝에 점이 있는 것을 확인했습니다. 인터넷 검색을 통해 SELinux 컨텍스트 또는 ACL을 삭제하는 명령을 찾았습니다(이것이 무엇인지 모르겠습니다). 하지만 여전히 고칠 수 없습니다.

vplagov@thinkpad:~ $ sudo setfacl -b /usr/lib/cpp
...
vplagov@thinkpad:~ $ ls -al /usr/lib/cpp 
lrwxrwxrwx. 1 root root 10 Sep 15 15:01 /usr/lib/cpp -> ../bin/cpp
... 
vplagov@thinkpad:~ $ sudo rm -f /usr/lib/cpp 
rm: cannot remove '/usr/lib/cpp': Operation not permitted
...
vplagov@thinkpad:~ $ sudo setfattr -x security.selinux /usr/lib/cpp 
setfattr: /usr/lib/cpp: Permission denied

이 문제를 해결할 수 있는 "건강한" 옵션이 있습니까?

답변1

"긴급 쉘"을 사용하여 재부팅하십시오.

가장 빠른 방법은 SELinux 적용 모드를 비활성화한 상태에서 컴퓨터를 비상 셸로 재부팅하는 것입니다. 커널 부팅 명령줄에 "rd.break enforcing=0"을 전달하면 됩니다(GRUB 부팅 메뉴에서 "linux"로 시작하는 줄에 추가하고 Ctrl+x를 눌러 부팅). /읽기 및 쓰기가 가능하도록 시작 후 파티션을 다시 마운트하십시오 .

mount –o remount,rw /sysroot

이 셸에서는 및/또는 심볼릭 링크를 직접 cd 입력 할 수 있습니다./sysroot/usr/lib/rm

종료하려면 다음을 입력하세요.

reboot

답변2

fixfiles onboot실행한 다음 다시 시작하여 컴퓨터의 파일에 레이블을 다시 지정할 수 있습니다.

id -Z또한 사용자가 실행해야 하는 기본 설치에서 현재 사용자가 실행 중인 컨텍스트를 확인할 수도 있습니다 unconfined_t.

ls-zSeLinux 레이블을 표시합니다("좋은" 시스템과 비교).

setenforce 0SeLinux는 일시적으로 비활성화되지만 근본 원인(SeLinux 태그 손상)을 수정하는 것이 좋습니다.

관련 정보