最近、当社のサーバーがハッカーによって攻撃され、一部のファイルの属性が変更されたため、ウイルス ファイルを削除できなくなり、同時に root ユーザーも削除できなくなりました。次に、解決策を記録します。
Linux ファイル/フォルダーを削除できない問題の解決策
通常の削除
ファイルが現在のユーザーに属している場合は、
rm -rf file.sh
削除できない場合は、rootユーザーで削除してください。削除できない場合は、以下の手順を参照してください。
推奨: 「Linux チュートリアル 」
知っておくべきコマンド
削除した場合通常、このメソッドは役に立たないため、削除するには次のコマンドを知る必要があります。
lsattr
lsattr コマンドは、ファイルの属性を表示するために使用されます。使用方法は次のとおりです。
# 列出 file.sh 文件的属性 lsattr file.sh # 列出当前目录下所有文件以及文件夹的属性
lsattr
属性の説明
i 属性を設定した後、ファイルを削除することはできません。削除または名前変更され、設定された接続の書き込みまたは追加はできません。データ、root ユーザーのみが設定できます
a 属性が設定された後、ファイルはデータの追加のみが可能であり、データの削除または変更はできませんroot ユーザーのみが
#A を設定できます。A 属性を設定した後、このファイルまたはディレクトリにアクセスすると、そのアクセス時間 atime は変更されず、I/I が遅いマシンによる過剰なディスク アクセスを回避できます。 O.これは、遅いコンピュータで役立ちます。 s プロパティの設定後、ファイルを削除すると、ハードディスクから完全に削除されます。S プロパティの設定後、ファイルはハード ディスクを同期 (通常は非同期)#u 属性を設定すると、ファイルが削除された後もデータ コンテンツがディスク上に残り、ファイルを取得できます。
e は、次のことを意味します。ファイルは実行可能ファイルです
#chattr
chattr はファイル属性を変更するために使用されます。このコマンドを使用するには root ユーザーに切り替えてください。ubuntu ユーザーの場合、コマンドの前に sudo を追加して変更できます
# 为 file.sh 文件增加 i 标识 chattr +i file.sh # 为 file.sh 文件去除 i 标识 chattr -i file.sh # 为 file.sh 增加 i, a 两个标识 chattr +ia file.sh # 为 file.sh 文件移除 i, a 两个标识 chattr -ia file.sh
実際の操作
上記のことから、ファイルが i と a の属性を設定すると、ファイルを削除できない場合は、まず i 属性と a 属性を削除してから、削除を実行します。
# 移除 i, a 属性 chattr -ia file.sh # 查看是否移除成功 lsattr file.sh # 移除文件 rm -rf file.shファイルが削除されていない場合 成功した場合は、i または a 属性が削除されているかどうかを検討する必要があります。ファイルが属するフォルダーに設定します (これを見つけるのは非常に困難です)
# 退回上一级 cd .. # 直接使用 lsattr 命令,这样可以列出当前文件夹下所有文件和文件夹的属性 # 不要使用 lsattr 文件夹 这样的语法,这样是列出该文件夹下的文件的属性
lsattr
フォルダーがフォルダーの属性を削除するように設定されている場合、フォルダ内のファイルを削除します
harvest
今回はウイルス駆除にlsattrとchattrを使用しましたが、途中で発見されましたが、ファイルの属性を理解することで、実際の作業では、ファイル属性を使用して重要なファイルを誤って削除しないように保護し、誤って削除した後にファイルを確実に復元できることがわかりました。
ファイルを操作しても改善が見られない場合は、フォルダーから解決してみてはいかがでしょうか。以上がLinux でファイルを削除できない場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。