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


20

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

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


13
(1) 터미널 에서 텍스트를 텍스트로 게시하십시오 가능한 경우 하십시오. 이상적으로는 복사하여 붙여 넣습니다. 텍스트를 수동으로 변환하는 것 외에는 텍스트를 캡처 할 수있는 방법이없는 경우에는 텍스트를 캡처 한 다음 공개하고 화면 캡처 이미지를 포함시켜 입력 내용을 다시 확인할 수 있습니다. (2) 사용 권한에 대해 궁금한 점이 있으면 항상 수행 ls -la하십시오 .(디렉토리) 에 대한 사용 권한을 볼 수 있습니다 .
G-Man, 'Reinstate

답변:


39

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

# lsattr 

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

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

1
와우, 그것은 까다로운 것이었다. 이 솔루션을 게시 해 주셔서 감사합니다. 나는 내 지혜의 끝에 있었다. 나는 이것이 어떻게 든 내 동기화 동기화와 관련 이 있다고 확신했다 . 그것은 여러 가지 이유로 인해 '알 수없는'상태로 남아 있었고, 이것은 삭제할 수없는 디렉토리가 (단일로) 추가 전용으로 설정되었음을 의미합니다 (이것은 공통적입니다). 그러나 추가 전용 모드를 보거나 재설정하는 방법에 대한 실마리는 없었습니다! 당신은 생명의 은인이었습니다. 원본 포스터도 문제가 해결되기를 바랍니다.
Gwyneth Llewelyn

이것은 생명의 은인입니다.
루카

16

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파일을 삭제하기 위해); 오직 루트 만이 그렇게 할 수 있습니다. 루트는 파일을 삭제하기 위해 이러한 속성을 무시할 수 없으므로 속성을 먼저 해제해야합니다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.