이 파일을 루트로 삭제할 수없는 이유는 무엇입니까? rm -rf명령 조차도 이러한 파일을

2 개의 파일이있는 디렉토리 시험이 있습니다. 파일을 삭제해야하지만 권한이 거부되었습니다. rm -rf명령 조차도 이러한 파일을 삭제할 수 없습니다. 루트 사용자로 로그인했습니다.

여기에 이미지 설명을 입력하십시오



답변

파일의 루트 사용자 확인 속성에서

# lsattr

당신이 나는 경우 i(불변) 또는 a(추가 전용), 그 특성을 제거 :

# man chattr
# chattr -i [filename]
# chattr -a [filename]


답변

rm파일을 삭제할 권한이 없다고 불평하는 가장 일반적인 이유 는 디렉토리에 대한 권한이 파일을 삭제하지 못했기 때문입니다. 파일을 삭제하려면 디렉토리에 대한 쓰기 권한이 필요합니다. 파일에 대한 사용 권한은 관련이없는 ( rm없는 -f읽기 전용 파일을 삭제하기 전에 확인을 위해 프롬프트,하지만 그냥 확인하지 제한입니다). OSX (Linux는 아님)와 같은 일부 Unix 변형에서는 파일 의 ACL 이 파일 삭제를 막을 수 있습니다. 파일에 ACL 항목이 있으면 권한 필드의 끝에 ls -l표시 @됩니다.

root로서의 액세스는 권한을 우회하므로 root는 읽기 전용 디렉토리에서도 파일을 삭제할 수 있습니다.

의 출력 은 권한 열의 끝에 ls -la 를 표시합니다 .. 이는 파일에 SELinux 보안 컨텍스트가 있음을 나타냅니다. 기본 권한 및 ACL과 달리 파일의 SELinux 보안 컨텍스트는 파일을 삭제할 수있는 사용자를 제어 할 수 있습니다. 또한 SELinux를 항상 루트로 우회 할 수는 없습니다 (SELinux 정책 디자이너가 선택한 권한만큼 적은 사용자 ID로 프로세스를 실행할 수 있음). SELinux 컨텍스트에서 수행 할 수있는 작업을 보려면을 실행하십시오 ls -lZ . exam_a.

파일 또는 파일을 포함하는 디렉토리에 추가 전용 또는 변경 불가능한 Linux 속성 이있는 경우 파일이 삭제되지 않도록 할 수있는 또 다른 사항입니다 . lsattr -d . exam_aLinux 속성을 보려면 실행하십시오 . 는 IF a또는 i속성에, 당신은 그것을 (제거해야합니다 chattr -a -i . exam_a파일을 삭제하기 위해); 오직 루트 만이 그렇게 할 수 있습니다. 루트는 파일을 삭제하기 위해 이러한 속성을 무시할 수 없으므로 속성을 먼저 해제해야합니다.

파일이 삭제되지 않도록하는 또 다른 방법은 파일 시스템이 읽기 전용으로 마운트 된 경우 다른 오류 메시지가 표시되는 것입니다.


답변