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 をインストールする簡単な方法

推薦する

MySQLクエリで大文字と小文字を区別しない問題を解決する方法

質問最近、SSH フレームワークを使用して実用的なプロジェクトを完了していたときに、長い間悩まされて...

良い広告にはどのような特徴が必要ですか?

広告業は人間であることに似ていると言う人がいます。これは本当です。優れた広告には、優れた人間と同じよ...

CSS3 でテキストマーキーを実装するためのサンプルコード

背景何が起こったかというと、Luzhu は偶然、宇宙で最高の外部スピーカーを備えた携帯電話について知...

JavaScript スタイル オブジェクトと CurrentStyle オブジェクトのケース スタディ

1. スタイルオブジェクトスタイル オブジェクトは単一のスタイル宣言を表し、スタイルが適用されている...

Windows Server 2019 のセットアップ方法 (画像とテキスト付き)

1. Windows Server 2019 のインストールVmware に Windows Se...

Vue ボタンの権限制御の導入

目次1. 手順1. ボタンの権限を定義する2. ストアを定義する3. 権限指示を作成する4. パーミ...

Apacheドメイン名設定の落とし穴の詳細な説明

私はApacheを使ったことがありません。仕事を始めてからはずっとnginxを使っていました(運用保...

VMware で Centos7 ブリッジ ネットワークを構成する手順の詳細な説明

VMware仮想マシンでのCentos7ブリッジネットワーク構成の完全な手順は参考用です。具体的な内...

ReactにおけるRefの相互利用の詳細な説明

目次1. まずRefとは何かを説明しましょう2. フックでのrefの使用1. HTMLDomフックで...

強くお勧めします! Vue 3.2 でシンタックスシュガーを設定する

目次前の1. セットアップ構文シュガーとは何か2. セットアップコンポーネントを使用して自動的に登録...

HTMLページをクリックしてダウンロードファイルを実装する2つの方法

1. <a>タグを使用して完了します <a href="/user/te...

DockerでNginxサーバーを作成する方法

動作環境: MAC Docker バージョン: Docker version 17.12.0-ce,...

この記事はPReact10.5.13のソースコードを理解するのに役立ちます

目次render.js 部分create-context.js 部分差分部分Reactのソースコード...

Docker ベースの Redis マスタースレーブ クラスタの実装

目次1. Redisイメージを取得する2. 6つのRedisコンテナを作成する3. Redisコンテ...

MySQL でシンプルな検索エンジンを実装するためのサンプルコード

目次序文導入ngram全文パーサー全文インデックスを作成する検索方法1. 自然言語検索(自然言語モー...