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

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

私のホームフォルダにいくつかのビルド出力を含むディレクトリがあり、ビルドプロセスでこのディレクトリを他のユーザーに表示しました(未知の理由で)。ディレクトリを削除したいが空ではないので削除できません。その中に含まれるファイルは私の所有ではないので削除しないでください。もちろん、すべてのファイルを再帰的にchownすることもできますが、隠されたファイルをすべてインポートすることは痛み。直接的な方法はありますか?

ベストアンサー1

ディレクトリへの書き込みアクセス権がある場合は、ファイルの所有者に関係なくディレクトリ内のファイルを削除できます。ディレクトリの固定ビットは他のユーザーのファイルを削除するのを防ぎますが、ディレクトリを所有している場合はビット設定を解除できます。自分に書き込み権限を付与するのと同じです。

しかし空ではない目次他のユーザーが所有すると大きな問題になります。

chownとにかく、ディレクトリ内のファイルにアクセスできる場合は、おそらくすでにスーパーユーザーであり、ツリーrm -r全体にアクセスできます。これはシステムによって多少異なりますが、例えばLinuxでは許可CAP_CHOWNされていますが、書き込みアクセス不足をバイパスすることchownは許可されていない機能があるかもしれません。CAP_DAC_OVERRIDE

おすすめ記事