特定のフォルダにrm -rfを誤って指定するのを防ぐ方法は?

特定のフォルダにrm -rfを誤って指定するのを防ぐ方法は?

私の考えでは、ここに多くの人が「rm -rf大きなダメージを与えないことを望みながら、間違ったディレクトリを編集する間違いを犯すと思います。Unixホラーストーリー??誰かが言及しました(コメントエリア前のリンク)それ

... UNIXを使用するすべてのUNIXコースまたは会社は、UNIXを実行したい人のアカウントを無効にするか、実行を防ぐためにrm -frが設定されていると確信しています。

現在、UnixまたはLinuxディストリビューションに実装はありますか?システム管理者(rootアクセス権を含む)としても、このエラーを防ぐための一般的な方法は何ですか?

少しあるようです。ルートディレクトリの保護/)Solaris(2005年以降)およびGNU(2006年以降)。とにかく、他のフォルダにも同じ保護方法を実装できますか?

より明確に言えば、一般的な使い方についてのアドバイスを求めるのではなく、rm(より多くのコンテンツを示すためにタイトルを更新しました)、rootフォルダ保護のようなものが欲しいです。これを行うには、rm -rf /特定のパラメータを渡す必要があります。rm -rf --no-preserve-root /.. custom Isディレクトリセットの同様の実装はありますか?または、/保護されたファイル以外のファイルを指定できますか?根を保つオプション?

ベストアンサー1

誤解を避けるためにrm -rf入力しないrm -rf

ディレクトリツリーを削除する必要がある場合は、次のワークフローをお勧めします。

  • 必要に応じて、削除するディレクトリの親ディレクトリに変更します。
  • mv directory-to-delete DELETE
  • DELETE実際に削除したいものであるかどうかを調べて確認してください。
  • rm -rf DELETE

rm -rf以外の引数で呼び出さないでくださいDELETE。複数のステップにわたって削除を実行すると、スペルエラー(代わりにrm -rf /foo /bar)のように、rm -rf /foo/barまたは脳の損傷のために(申し訳ありません。削除してfoo.old維持することを意味しますfoo.new)、誤ったコンテンツを削除していないことを確認できます。

他の人が入力しないと信じられないという問題がある場合は、rm -rfその人の管理者権限を削除することをお勧めします。間違っている可能性がありますrm


常にバックアップしてください

バックアップが正常に動作し、最新の状態であることを定期的に確認してください。

どこでも簡単にダウンロードできないすべてをバージョン管理に置きます。


デフォルトのUNIXシステムでは、特定のディレクトリが削除されないようにするには、特定のパラメータを拒否するカスタムスクリプトでrm置き換えます(またはシャドウすることをお勧めします)。rmまたはパスしてくださいhg rm

一部のUNIXバリアントは追加の可能性を提供します。

  • OSXでは設定できますアクセス制御リストディレクトリは、新しいエントリの作成や既存のエントリの変更を防ぐことなく、その中のファイルやサブディレクトリの削除を防ぎます。 (chmod +a 'group:everyone deny delete_child' somedirこれにより、サブディレクトリ内のファイルの削除が防止されます。必要に応じて、サブディレクトリにもACLを設定します。)
  • Linuxでは、SELinux、AppArmor、またはその他のセキュリティフレームワークでルールを設定して、特定のディレクトリの変更をrm禁止できます。

おすすめ記事