저는 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-z
SeLinux 레이블을 표시합니다("좋은" 시스템과 비교).
setenforce 0
SeLinux는 일시적으로 비활성화되지만 근본 원인(SeLinux 태그 손상)을 수정하는 것이 좋습니다.