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

推薦する

JavaScript で支払いの 10 秒カウントダウンを実現

この記事では、支払いの10秒カウントダウンを実現するためのJavaScriptの具体的なコードを参考...

ウェブページのカラーマッチングスキルについての簡単な説明(フロントエンド開発者必読)

一般的に、Web ページの背景色は、より柔らかく、よりシンプルで、より明るく、暗いテキストとマッチし...

鏡像効果を実現する JavaScript キャンバス

この記事では、JavaScriptキャンバスでミラーイメージ効果を実現するための具体的なコードを参考...

CSSアニメーションがJSによってブロックされるかどうかについての簡単な議論

CSS のアニメーション部分は JS によってブロックされますが、transform のアニメーショ...

Vue3スタイルのCSS変数注入の実装

目次まとめ基本的な例モチベーションデザインの詳細コンパイルの詳細採用戦略練習するヒント適切なプロパテ...

SpringbootはDockerデプロイメントを統合し、Dockerイメージを構築する2つの方法を実装します。

Docker は、あらゆるアプリケーション用の軽量でポータブルな自己完結型コンテナーを簡単に作成で...

JSでES6クラスの使い方をすぐにマスター

1. どのように構築しますか? es5 でクラスを構築する一般的な方法を確認しましょう。まず、es5...

Windows 10 と MySQL 5.5 のインストールとインストールなしの使用の詳細なチュートリアル (画像とテキスト)

この記事では、Windows 10環境でのMySQL 5.5のインストールと使用方法を紹介します。リ...

MySQL でデータベースを作成した後、ユーザー 'root'@'%' によるデータベース 'xxx' へのアクセスが拒否される問題を解決する

序文最近、仕事で問題が発生しました。データベースを作成した後、データベースに接続するときにエラーが発...

ウェブページのコアコンテンツ(画像とテキスト)の視覚的表現の紹介

情報の最適化と改良は常にデザインの最初のステップです。 「これは百度アライアンスユーザーエクスペリエ...

VirtualBox仮想マシンがNATモードで外部ネットワークに接続できない問題の解決策

背景VirtualBox 仮想マシン (Ubuntu 16.04 システムがロードされている) には...

MySQL 8.0.22.0 のダウンロード、インストール、設定方法のグラフィックチュートリアル

MySQL 8.0.22のダウンロード、インストール、設定方法、参考までに具体的な内容は次のとおりで...

Docker で Node プロジェクトをビルドしてデプロイする方法

目次DockerとはクライアントサイドDocker基本的なDocker操作画像名画像をプルするその他...

ジョセフリング問題を解決する 3 つの JavaScript メソッド

目次概要問題の説明循環リンクリスト順序付き配列数学的再帰要約する概要ジョセフ・リング問題は、ジョセフ...

nginx のインストールが完了した後に PHP を解析できない問題の解決方法

目次方法1方法2 nginxをインストールした後、PHPコードを解析できないことがわかりました。解決...