삭제된 사용자의 남은 파일을 삭제하는 방법은 무엇입니까?

삭제된 사용자의 남은 파일을 삭제하는 방법은 무엇입니까?

사용자를 삭제하면 userdel username정보 유출 및 기타 보안 문제가 발생할 수 있다는 것을 알고 있습니다(튜토리얼 책에 따르면 관리자가 사용자 옵션을 삭제해야 함 -r). 그러나 나는 그것을 시도해 보고 무슨 일이 일어났는지 보았습니다. 이제 "소유되지 않은" 디렉토리가 남았습니다. 으로 삭제할 수 있습니다 cd /home; rm -r username.빠른 방법이 있나요?

그 책은 이렇게 말합니다.

루트 사용자는 다음 명령을 실행하여 "소유되지 않은" 파일 및 디렉터리를 찾을 수 있습니다.find / -nouser -o -nogroup 2> /dev/null

어떻게 작동하나요?

답변1

글쎄요, 제가 직접 해결했습니다. 귀하의 도움 으로 find / -nouser -o -nogroup 2> /dev/null시스템에서 링크되지 않거나 소유되지 않은 모든 파일을 볼 수 있으며 시스템에 남아 있는 모든 파일을 삭제할 수 있습니다. 명령 옵션을
사용하지 않는 경우 다음을 수행하여 이전 사용자의 파일을 모두 삭제할 수 있습니다.-ruserdel

  1. 삭제된 사용자 home디렉터리를 삭제합니다.cd /home; rm -r username
  2. 나머지 파일 찾기: find / -nouser -o -nogroup 2> /dev/null.
  3. 이전 명령의 출력에서 ​​모든 파일을 삭제합니다.

중요한 편집: 이 3단계를 사용하는 대신 다음을 사용하세요.

find / -nouser -o -nogroup 2> /dev/null | xargs rm -fr

find명령의 force( -f) 및 recurse( ) 옵션을 사용하여 -r명령의 모든 출력을 제거합니다 rm.

@Tim Pierce의 답변 인용이것질문:

xarg표준 입력의 줄을 읽고 이를 명령줄 인수로 변환하므로 데이터를 다른 프로그램의 명령줄로 효과적으로 파이프할 수 있습니다.


편집 #2: @roaima에 따르면 다음을 사용해야 합니다.

find / \( -nouser -o -nogroup \) -print0 | xargs -0 rm -rf

행운을 빌어요!

답변2

또는 현재 디렉터리에서 더 간단하게:

sudo find . -nouser -nogroup | xargs rm -rf

전체 파일 시스템에 적용되는 경우 .확인하려는 폴더로 변경하십시오./

관련 정보