「chattr」なしでファイルを変更および削除できないようにするには?

「chattr」なしでファイルを変更および削除できないようにするには?

私と私の共同編集者は、約160,000のファイル(ほとんどのデータ収集ツールによって自動的に作成されます)を含むディレクトリツリーを持っています。

これらのファイルは常にバックアップされているシステムに常駐するため、必要に応じてバックアップから復元する必要がある情報がある限り、データの損失や破損について心配する必要はありません。

私たちがもっと心配しているのは誤ってユーザーエラー(特に欠陥のあるユーザー作成コード)によるデータの損失または破損は、せいぜい問題が検出される前に作業の無駄を意味するためです。

したがって、これらのファイルを削除できず、変更できないようにする必要があります。

残念ながら、私たちの誰もchattrそのシステムで使用する権限がないため、chattr +iこれらのファイルに適用する可能性は排除されます。

特別な権限を必要としない他の方法でこれを近似できますかchattr +i

この記事の残りの部分では、我々が考慮したいくつかの可能性とその欠点について説明します。

1つの可能性はApplyですchmod -R a-w DATAが、DATA関連ディレクトリツリーのルートの略称として使用します。

最初の近似では問題ありませんが、時々実行する必要がある多くのタスク(たとえば、複数のサブディレクトリを1つにマージ)をレンダリングするため、少し過剰です。

2番目の可能性はこれです

find DATA -type f -exec chmod a-w {} \;

これはより柔軟で、ファイルを変更することはできませんが、削除することはできます。

答え1

そうでなければできませんchattr

しかし、あなたは何をしますか?できるあなたがしなければならないのは、変更したり削除したくないファイルを別のディレクトリに入れたり、そのディレクトリを書き込めないようにし(例:)、その中のファイルを読み取り専用にすることです(chmod og-w DIRchmod 644 DIR/*:)。

この別のディレクトリ必然ではないユーザーが書き込み権限を持っているディレクトリのサブディレクトリです。そうでない場合は、ディレクトリを削除するか、その権限を変更できます。

関連情報