1. ホーム
  2. スクリプト・コラム
  3. リナックスシェル

Linux用カスタムアンチテロスクリプトのアイデアとテスト

2022-01-05 04:18:20

I. 背景

いつも川のそばを歩いていて、靴が濡れないわけがない、ということわざがあるように。次のように、サーバー上の一時的なシステムスキャンファイルを削除したいと思いました。

rootのホームディレクトリにあるので、/tmp/以下にシステムスキャンファイルがたくさんあると思い、体系的にタブして、自分の監視テストサーバーなので、あまり考えず、複数のファイルがあるはずとタブし、その後、直接*に従って、スキャンファイルをすべて削除しました。が、キャリッジリターンの瞬間に/tmpの下にスキャンファイルが1つしかないことを発見し、途端に頭皮がピリピリしてきた、たかが自分のテストサーバーとはいえ、その下にスクリプトやデータファイルがたくさんあったので、怒りと憎しみがこみ上げてきたのだ。テストサーバはルートが1つしかなく、他のディスクもないため、この時点でext3grep/extundeleteなどのツールではどうにもならず、他の方法を考えるが、もっと面倒なので、教訓として忘れて、内部にカスタムrmコマンドスクリプトを書いてこのようなことが起きないようにした。

II. 感想

自信満々で、rm -rf ハンドスピードを行う操作は感覚的で、もっと見てなかったので、カスタム rm コマンドが可能です。

  • エイリアスrmでファイルをごみ箱ディレクトリに移動する
  • システムディスクが制御された使用を許可する場合、定期的にファイルを削除します。

そこで、これを実装するために小さなスクリプトが書かれました。do-not-deleteを置くよりも、遅延削除と呼ぶ方がより正確です。

ギットアドレス

#! /bin/bash
# auth:kaliarch
# function:custom rm command to clean up regularly every night

# define rm delete command replacement script
CMD_SCRIPTS=$HOME/.rm_scripts.sh
# Define recycle bin directory
TRASH_DIR=$HOME/.TRASH_DIR
CRON_FILE=/var/spool/cron/root
BASHRC=$HOME/.bashrc

[ ! -d ${TRASH_DIR} ] && mkdir -p ${TRASH_DIR}

cat > $CMD_SCRIPTS <> $CRON_FILE
echo "Deleting directory:$TRASH_DIR"
echo "Delete script:$CMD_SCRIPTS"
echo "Please execute :source $BASHRC to load the file or exit the current shell and log back in"


III. テスト

rmコマンドを置き換えるスクリプトを実行します。

その後、ロールアウトして再ログインするか、ソースファイルをロードするためのプロンプトに従えば、有効になります

スクリプト生成ファイル

あなたは、ユーザーのホームディレクトリを実行するスクリプトで見ることができる、ごみ箱のディレクトリとファイルの削除スクリプトを生成します、定期的にごみ箱をクリーンアップする時限タスクを作成します、あなたは後のディスクに応じて、クリーンアップする期間をカスタマイズすることができます。

ファイル削除のテスト

ファイルやディレクトリに対するrmコマンドの操作は、ごみ箱への移動に成功したことがわかり、時間指定タスクは定期的にそのディレクトリのものを掃除し、毎日のrm -rf誤用コマンドを遅らせることができます。

IV. 拡張機能

  • エンジニアとして、日々の業務はやはり慎重にならざるを得ない
  • タイムドスナップショットポリシーに優れたクラウドサーバーを使用する
  • 従来型サーバーのファイルのオフサイトバックアップをしっかり行う場合
  • データ復旧ソフトウェアツール ext3grep、extundeleteなどをインストールして使用し、誤使用されたデータを最初に復旧させる。

追伸:Linuxでchattrコマンドを使ってファイルを削除されないようにする方法

Linuxが非常に強力なシステムであることは、誰もが知っています。すべてのファイルには一定のパーミッションがあり、あるユーザーはそれを扱うことができ、あるユーザーはルートユーザーのみがそれを削除することができます。しかし、ルートユーザーで "sudo rm -fr 'folder name'" というコマンドを使ったときのように、常に間違いがあり、イライラさせられることがある。重要なフォルダをホームフォルダに置いていて、間違って削除してしまうこともあります。

ははは、Linuxには"chattr"という非常に便利なコマンドがあり、この問題をうまく解決してくれるよ。

1. 概要

linux で "man chattr" と入力すると、"chattr changes file attributes on a Linux file system と記述されます。このことから、chattrはLinuxファイルシステムのファイル属性を変更することができると簡単に結論付けることができます。

2. 具体的な構文形式

chattr [ -RVf ] [ -v バージョン ] [ モード ] ファイル... [1]

注:括弧はオプション、ファイルはパラメータであることを示し、必須であることを示します。バージョン番号(-v)を付けた場合は、バージョン番号を入力する必要があります。例: chattr -v 1.8 files

3. 重要なオプションの詳細説明

次に、私たちにとって便利なオプションについて分析します。

  • -R このコマンドはファイルの属性を再帰的に変更します。(つまり、フォルダとファイル、さらにフォルダ内のサブファイルとサブフォルダに同じ属性が付加されます)
  • -V 詳細情報、バージョン番号があればそれを出力する
  • -v ファイルのバージョン番号を設定する

4. ドキュメントプロパティ

1) モードオプション

1]の[mode]オプションですが、このオプションは "+ファイル属性" または "-ファイル属性" または "=ファイル属性" の形式を持ちます。

  • "+file attribute"は属性を追加することです。
  • ファイル属性"- ファイル属性" この属性を削除します。
  • "= file attribute" このファイルはこの属性を持っており、この属性のみを持っています。

2) 文書属性

  • a ファイルは追加、変更のみ可能で、削除はできません。
  • cフォルダはzipファイルを追加できますか?
  • s 安全な削除
  • u 削除不可

注意:c、s、uはext2、ext3、ext4ファイルシステムでは使用できません。

ファイルシステムがこれらに該当する場合、a属性を使用し、ファイルが削除されないようにします。

例えば sudo chattr -V +a file

ロックを解除するには

sudo chattr -V -a ファイル

V. まとめ

これは、Linuxのカスタム反テロスクリプトに関するこの記事の終わりです、より関連するLinuxのカスタム反テロスクリプトの内容は、スクリプトハウスの前の記事を検索してくださいまたは次の関連記事を閲覧し続けることは、スクリプトハウスをよりサポートすることを願っています!.