ホームフォルダにビルド出力を含むディレクトリがあり、ビルドプロセスが別のユーザーにchownしました(理由はわかりません)。ディレクトリを削除したいのですが、空ではないため削除できません。 t自分が所有していないため、含まれているファイルを削除します。もちろん、すべてのファイルを再帰的にchownすることもできますが、すべての隠しファイルを取得するのは 苦痛 です。簡単な方法はありますか?
ディレクトリへの書き込みアクセス権がある場合は、ファイルの所有者に関係なく、ディレクトリ内のファイルを削除できます。ディレクトリのスティッキービットは、他のユーザーのファイルを削除できないようにしますが、ディレクトリを所有している場合は、ビットの設定を解除するだけです...自分に書き込みアクセス権を与える場合も同様です。
ただし、他のユーザーが所有している空でないdirectoryは、より問題になります。
いずれにせよ、ディレクトリ内のファイルをchown
できれば、おそらくすでにスーパーユーザーであり、ツリー全体をrm -r
できるはずです。これは多少システム固有ですが、たとえばLinuxでは、chown
を許可するCAP_CHOWN
機能を使用できますが、書き込みアクセスの欠如を回避できるCAP_DAC_OVERRIDE
は使用できません。