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

推薦する

ffmpeg コマンドラインを使用してビデオを変換するためのサンプルコード

この記事の本文を始める前に、まず ffmpeg プログラムをインストールする必要があります (Lin...

16 の XHTML1.0 と HTML の互換性ガイドラインの概要

1.ページを XML タイプとして宣言しないでください。ページでは UTF-8 または UTF-16...

JS配列メソッドの詳細な説明

目次1. 元の配列が変更されます1. プッシュ(): 2.ポップ(): 3. シフト(): 4.un...

MySQL テーブルの読み取り、書き込み、インデックス作成、その他の操作の SQL ステートメントの効率最適化の問題を分析します。

前回は、Explain 実行プランの表示、インデックスの分析など、MySQL での SQL クエリの...

Vue でログインと登録テンプレートを実装するためのサンプルコード

テンプレート 1: ログイン.vue <テンプレート> <p class=&quo...

CSS で隠し要素を実現する 7 つの興味深い方法

序文非表示要素の 3 つの属性である表示、可視性、不透明度の類似点と相違点は、フロントエンドの就職面...

MYSQLの文字セット設定方法(端末の文字セット)の詳しい説明

序文ターミナルを使用してデータベースまたはテーブルを作成するたびに、文字セットが latin1 であ...

優秀なウェブ開発者が開発スキルを向上させるために知っておくべき10のこと

「開発とは、単にコードを書くだけではない」というのは、3EV の Dan Frost 氏の言葉です。...

Django がローカル MySQL データベースに接続する手順 (pycharm)

ステップ1:setting.pyでデータベースを変更する # データベースを構成する DATABAS...

Docker を使用して pypi プライベート リポジトリを構築する方法

1. 建設1. htpasswd.txtファイルを準備するファイルには、パッケージを倉庫にアップロー...

Ubuntu にグラフィック ドライバーが正常にインストールされたかどうかを確認する方法

次のコマンドを実行します: glxinfo | grep レンダリング結果が「はい」の場合、グラフィ...

Webpack パッケージング CSS 背景画像パスの問題に対する完璧なソリューション

vue コンポーネントのスタイル タグ内には、背景画像を使用する次の CSS コードがあります。 背...

MySQL 5.7.17 インストール グラフィック チュートリアル (Windows)

最近データベースを学び始めたのですが、とても興味深いコースだと感じていますが、含まれる内容の多くは私...

W3C チュートリアル (7): W3C XSL アクティビティ

スタイル シートは、ドキュメントの表示方法、発音方法、または入力方法を記述します。XSL 言語は、X...

Linuxシステムにおけるキー認証に基づくSSHサービスのプロセス

ご存知のとおり、SSH は現在、リモート ログイン セッションやその他のネットワーク サービスにセキ...