削除されたユーザーの残りのファイルを削除する方法は?

削除されたユーザーの残りのファイルを削除する方法は?

ユーザーを削除すると、userdel username情報漏えいやその他のセキュリティ上の問題が発生する可能性があることがわかります(チュートリアルの本によると、管理者はユーザーオプションを削除する必要があります-r)。しかし、私はそれを試してみて、何が起こったのか見ました。これで、「所有されていない」ディレクトリが残りました。で削除できますcd /home; rm -r username簡単な方法がありますか?

その本はこう言います。

rootユーザーは、次のコマンドを実行して「非所有」ファイルとディレクトリを見つけることができます。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

頑張ってください!

おすすめ記事