루트로 파일을 삭제할 수 없는 이유는 무엇입니까?

루트로 파일을 삭제할 수 없는 이유는 무엇입니까?

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

여기에 이미지 설명을 입력하세요.

답변1

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

# lsattr 

i(불변) 또는 a(추가 전용)이 발견되면 다음 속성을 제거하세요.

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

답변2

rm파일 삭제 권한이 없다고 불만을 제기하는 가장 일반적인 이유는 디렉터리의 권한으로 인해 파일을 삭제할 수 없기 때문입니다. 파일을 삭제하려면 해당 디렉터리에 대한 쓰기 권한이 필요합니다. 파일의 권한은 관련이 없습니다( rm읽기 전용 파일을 삭제하기 전에 확인 메시지가 표시되지 않지만 이는 제한 사항이 아니라 확인일 뿐입니다). -fOSX(Linux는 아님)와 같은 일부 Unix 변형에서는전방십자인대파일 삭제를 방지하기 위해 파일에 ACL 항목이 있으면 ls -l권한 필드 끝에 표시됩니다.@

루트로 액세스하면 권한이 무시되므로 루트는 읽기 전용 디렉터리에서도 파일을 삭제할 수 있습니다.

출력은 권한 열 끝에 표시됩니다 ls -l. .이는 파일에 SELinux 보안 컨텍스트가 있음을 나타냅니다. 기본 권한 및 ACL과 달리 파일의 SELinux 보안 컨텍스트는 파일 삭제가 허용되는 사람을 제어합니다. 또한 SELinux는 항상 루트로 우회할 수 있는 것은 아닙니다(사용자 ID 0으로 실행되는 프로세스가 있을 수 있지만 SELinux 정책 설계자가 선택한 권한만큼 적음). SELinux 컨텍스트를 통해 수행할 수 있는 작업을 보려면 를 실행하세요 ls -lZ . exam_a.

파일이 삭제되는 것을 방지할 수 있는 또 다른 방법은 해당 파일 또는 해당 파일이 포함된 디렉터리에 추가 전용 또는 불변 속성이 있는 경우입니다.리눅스 속성. lsattr -d . exam_aLinux 속성을 보려면 실행하세요 . a또는 속성이 켜져 있으면 파일을 삭제하려면 i이를 삭제해야 합니다( chattr -a -i . exam_a). 루트만 이를 수행할 수 있습니다. 루트는 파일을 삭제하기 위해 이러한 속성을 우회할 수 없으므로 먼저 꺼야 합니다.

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

관련 정보