Linux で削除できないファイル/フォルダの解決方法

Linux で削除できないファイル/フォルダの解決方法

序文

最近、弊社のサーバーがハッカーの攻撃を受け、一部のファイルの属性が変更されたため、ウイルスファイルを削除できなくなりました。同時に、ルートユーザーを使用して削除することもできませんでした。現在、解決策を記録しています。

通常の削除

ファイルが現在のユーザーに属している場合は、rm コマンドを使用して削除できます。

rm -rf ファイル.sh

削除できない場合は、root ユーザーとして削除してみてください。削除できない場合は、以下の手順を参照してください。

知っておくべきコマンド

通常の削除方法が機能しない場合は、削除するために次のコマンドを知る必要があります。

lsattr

lsattrコマンドはファイルの属性を表示するために使用されます。次のように使用されます。

# ファイルの属性を一覧表示する file.sh lsattr file.sh
# 現在のディレクトリ内のすべてのファイルとフォルダの属性を一覧表示します lsattr

属性の説明

  • i 属性を設定すると、ファイルの削除や名前の変更、接続の書き込みや追加ができなくなります。設定できるのは root ユーザーのみです。
  • a 属性が設定されると、ファイルはデータの追加のみ可能となり、データの削除や変更はできなくなります。これを設定できるのは root ユーザーのみです。
  • A 属性を設定すると、このファイルまたはディレクトリにアクセスしてもアクセス時間 (atime) は変更されず、I/O が遅いマシンがディスクに過度にアクセスするのを防ぐことができます。これは、低速のコンピューターで役立ちます。
  • s 属性を設定した後、ファイルを削除すると、ハードディスクから完全に削除されます。
  • S属性が設定されると、ファイルはハードディスクに同期的に(通常は非同期的に)書き込まれます。
  • u属性が設定されると、ファイルのデータ内容は削除後もディスク上に残り、ファイルを復元することができます。
  • eはファイルが実行可能ファイルであることを意味します

詳細な手順については、https://baike.baidu.com/item/chattr/9841067?fr=aladdin を参照してください。

チャット

chattr はファイル属性を変更するために使用されます。このコマンドを使用するには、root ユーザーに切り替えてください。Ubuntu ユーザーの場合は、コマンドの前に sudo を追加して変更できます。

# file.sh ファイルに i マークを追加します chattr +i file.sh
# file.shファイルからiマークを削除します chattr -i file.sh
# 2つのフラグ i と a を file.sh に追加します chattr +ia file.sh
# ファイル.shから2つのフラグiとaを削除します。chattr -ia file.sh

詳しい操作については、https://baike.baidu.com/item/chattr/9841067?fr=aladdin を参照してください。

実際の操作

上記から、ファイルに属性 i と a のいずれかが設定されている場合、ファイルを削除できないことがわかります。したがって、まず i と a の属性を削除してから、削除を実行します。

# i、a 属性を削除する chattr -ia file.sh
# 削除が成功したかどうかを確認します lsattr file.sh
# ファイルを削除します rm -rf file.sh

ファイルが正常に削除されていない場合は、ファイルが属するフォルダに i または a 属性が設定されているかどうかを検討する必要があります (これは実際には見つけるのが困難です)

# 前のレベルに戻る cd ..
# 現在のフォルダー内のすべてのファイルとフォルダーの属性を一覧表示するには、lsattr コマンドを直接使用します。# フォルダー内のファイルの属性を一覧表示する lsattr folder の構文は使用しないでください。

フォルダが設定されている場合は、フォルダの属性の削除操作を実行し、フォルダ内のファイルを削除します。

利益

  • lsattr と chattr はウイルス除去プロセス中に発見されましたが、ファイル属性を理解することで、実際の作業で重要なファイルが誤って削除されるのを防ぎ、誤って削除された後にファイルを復元できるようにするためにファイル属性を使用できることがわかりました。
  • ファイルに対する操作がまだ効果がない場合、フォルダーから解決を試みることができます。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • Linux でのフォルダーの tar 圧縮と解凍のコマンドとパラメータの詳細な説明
  • Linuxサーバーで仮想ホストファイルやフォルダを削除できない場合の完璧な解決策
  • フォルダとファイルを削除する Linux コマンド (空でないファイルを含む強制削除)
  • フォルダとファイルを削除するLinuxシステムコマンド
  • Linux で FTP アカウントがフォルダを削除できない問題の解決策
  • Linux で特定のファイルまたはフォルダを除くすべてのファイルを削除する方法
  • Linux フォルダファイルの作成と削除の解析
  • Linux サーバーでフォルダー、ファイル、解凍コマンドを削除する方法

<<:  js QRコードスキャンログインの原理についての簡単な説明

>>:  Linux で MySQL をインストールする簡単な方法

推薦する

Windows での MySQL の詳細なインストール手順と基本的な使用方法

目次1. MySQLをダウンロードする2. MySQLをインストールする3. MySQL の基本的な...

docker と docker-compose による eureka の高可用性の実現の詳細な説明

最近、新しいプロジェクトでは springcloud と docker が使用されています。この 2...

複数の .sql ファイルを MySQL に効率的にインポートする方法の詳細な説明

MySQL には、複数の .sql ファイル (SQL ステートメントを含む) をインポートする方法...

Windows 10 で MySql の解凍バージョンをインストールして構成する方法のチュートリアル

Windows 10 で MySql データベースの解凍バージョンをインストールするステップ 1: ...

回転するフリップカードアニメーションの効果を実現するCSS

回転フリップ効果の CSS アニメーション、具体的な内容は次のとおりです。 1. まず2つのボックス...

JavaScript 関数の高度な説明

目次関数定義方法関数呼び出し(6種類)これは問題を指摘している厳密モード高階関数閉鎖再帰: 自分自身...

MySQL デッドロック ルーチン: 一意のインデックスの下でのバッチ挿入順序の不一致

序文デッドロックの本質はリソースの競合です。バッチ挿入の順序が一貫していないと、デッドロックに陥りや...

MySQL カウントを向上させる方法のまとめ

多くのプログラマーは MySQL に精通していると思います。多くの人が count の使い方と、最適...

BFCとは何ですか? CSS 疑似要素を使用してフロートをクリアする方法

BFCコンセプト:ブロック フォーマット コンテキストは、BFC 内の要素を外部の要素から分離する独...

HTML テーブルの行間および列間の操作 (rowspan、colspan)

一般的に、<td> 要素の colspan 属性はセルの列間操作を実装するために使用され...

Ubuntu 14.04 で QT5 をインストール、設定、アンインストールするための詳細な手順

1. 以前 QT5.13 バージョンをダウンロードしましたが、インストール後、Qtcreator を...

vue + Electron でデスクトップ アプリケーションを作成するためのサンプル コード

1.vueパッケージングここでは、vueネイティブパッケージングコマンドを使用してvueプロジェクト...

Vue グローバル フィルターの概念、注意事項、基本的な使用方法

目次1. フィルターの概念1. グローバルフィルターのフォーマットをカスタマイズする2. フィルター...

MySQLテーブルを削除する方法

MySQL でテーブルを削除するのは非常に簡単ですが、削除コマンドを実行するとすべてのデータが消えて...

統計量に対するmySql SQLクエリ操作

余計なことは言わないで、コードだけ見てみましょう〜 プロジェクト番号を選択、 sum(case wh...