나에게 속하지 않은 파일이 포함된 내가 소유한 디렉터리 삭제

나에게 속하지 않은 파일이 포함된 내가 소유한 디렉터리 삭제

내 홈 폴더에 일부 빌드 출력이 포함된 디렉터리가 있고 빌드 프로세스에서 이 디렉터리를 다른 사용자에게 표시했습니다(알 수 없는 이유로). 디렉터리를 삭제하고 싶지만 비어 있지 않기 때문에 삭제할 수 없습니다. 그 안에 포함된 파일은 내 소유가 아니기 때문에 삭제하지 마세요. 물론 모든 파일을 재귀적으로 chown할 수도 있지만 숨겨진 파일을 모두 가져오는 것은고통. 직접적인 방법이 있나요?

답변1

디렉터리에 대한 쓰기 액세스 권한이 있으면 파일 소유자에 관계없이 디렉터리에 있는 파일을 삭제할 수 있습니다. 디렉터리의 고정 비트는 다른 사용자의 파일을 삭제하는 것을 방지하지만 디렉터리를 소유하고 있는 경우 비트 설정을 해제할 수 있습니다. 자신에게 쓰기 권한을 부여하는 것과 같습니다.

그러나 비어 있지 않은목차다른 사용자가 소유하면 더 큰 문제가 됩니다.

chown어쨌든, 디렉토리의 파일에 접근할 수 있다면 아마도 이미 수퍼유저이고 rm -r전체 트리에 접근할 수 있을 것입니다. 이는 시스템에 따라 다소 다르지만, 예를 들어 Linux에서는 CAP_CHOWN허용되지만 쓰기 액세스 부족을 우회 chown하는 것은 허용되지 않는 기능이 있을 수 있습니다 .CAP_DAC_OVERRIDE

관련 정보