web-dev-qa-db-ja.com

私が所有していないファイルを含む、私が所有しているディレクトリを削除します

ホームフォルダにビルド出力を含むディレクトリがあり、ビルドプロセスが別のユーザーにchownしました(理由はわかりません)。ディレクトリを削除したいのですが、空ではないため削除できません。 t自分が所有していないため、含まれているファイルを削除します。もちろん、すべてのファイルを再帰的にchownすることもできますが、すべての隠しファイルを取得するのは 苦痛 です。簡単な方法はありますか?

2
Brent

ディレクトリへの書き込みアクセス権がある場合は、ファイルの所有者に関係なく、ディレクトリ内のファイルを削除できます。ディレクトリのスティッキービットは、他のユーザーのファイルを削除できないようにしますが、ディレクトリを所有している場合は、ビットの設定を解除するだけです...自分に書き込みアクセス権を与える場合も同様です。

ただし、他のユーザーが所有している空でないdirectoryは、より問題になります。

いずれにせよ、ディレクトリ内のファイルをchownできれば、おそらくすでにスーパーユーザーであり、ツリー全体をrm -rできるはずです。これは多少システム固有ですが、たとえばLinuxでは、chownを許可するCAP_CHOWN機能を使用できますが、書き込みアクセスの欠如を回避できるCAP_DAC_OVERRIDEは使用できません。

3
ilkkachu