읽기 전용 디렉토리의 파일을 삭제하는 방법은 무엇입니까?

읽기 전용 디렉토리의 파일을 삭제하는 방법은 무엇입니까?

디렉터리와 파일이 있는데 해당 디렉터리는 읽기 전용으로 표시되어 있습니다.

$ mkdir directoryname
$ touch directoryname/filename
$ chmod a-w directoryname

-f플래그를 다음에 전달해 도 파일을 삭제할 수 없습니다 rm.

$ rm -f directoryname/filename
rm: cannot remove `directoryname/filename': Permission denied

rm이 파일을 강제로 삭제하는 방법이 있나요 ? 물론 일시적으로 쓰기 권한을 부여할 수도 있지만 directoryname좀 더 편리한 방법을 찾고 있습니다.

나는 기본 unlink시스템 호출도 같은 방식으로 실패할 것이라고 믿습니다. 이 문제를 해결할 방법이 있나요?

답변1

무엇에 대해:

sudo rm directory/filename

또는:

su -c "rm directory/filename"

배포판 및/또는 설정에 따라 다릅니다.

rootroot위 명령을 실행하는 동안 Unix/Linux의 almighty처럼 무엇이든 할 수 있는 임시 시간을 갖게 됩니다 . 이는 관리자 계정에 대한 액세스 권한을 제거할 수 있는 MS Windows와 대조됩니다(이를 해결할 수 있는 방법도 있음).

SELinux도움이 될 수 있는 다양한 확장 속성 도구와 같은 도구가 있지만 궁극적으로 확장 속성을 변경하고 구성(또는 비활성화)할 수 있으므로 chattr이러한 도구는 무시될 수 있습니다 .rootSELinux

관련 정보