Kürzlich wurde unser Server von Hackern angegriffen und dann wurden die Attribute einiger Dateien geändert, was dazu führte, dass wir die Virendateien nicht löschen konnten. Gleichzeitig war der Root-Benutzer Die Virendateien können nicht gelöscht werden. Jetzt werden wir die Lösung aufzeichnen.
Linux-Datei/-Ordner kann nicht gelöscht werden. Problemlösung
Normales Löschen
Wenn die Datei dem aktuellen Benutzer gehört, Verwenden Sie dann den Befehl rm, um
rm -rf file.sh
zu löschen. Wenn es nicht gelöscht werden kann, versuchen Sie, es mit dem Root-Benutzer zu löschen. Wenn es nicht gelöscht werden kann, lesen Sie bitte die Anweisungen unten.
Empfohlen: „Linux-Tutorial“
Befehle, die Sie kennen müssen
Wenn Sie möchten Um es normal zu löschen Die Methode ist nicht nützlich, dann müssen wir den folgenden Befehl kennen, um es zu löschen
lsattr
Der Befehl lsattr wird verwendet, um die Attribute des anzuzeigen Die Verwendungsmethode lautet wie folgt
# 列出 file.sh 文件的属性 lsattr file.sh # 列出当前目录下所有文件以及文件夹的属性
lsattr
Attributbeschreibung
i Nach dem Festlegen des Attributs wird die Datei kann nicht gelöscht oder umbenannt werden und die festgelegte Verbindung kann nicht geschrieben oder hinzugefügt werden. Daten können nur vom Root-Benutzer festgelegt werden.
a Nach dem Festlegen des Attributs kann die Datei nur Daten hinzufügen und die Daten können nicht gelöscht werden Nur der Root-Benutzer kann
A festlegen. Wenn Sie auf diese Datei oder dieses Verzeichnis zugreifen, wird die Zugriffszeit atime nicht geändert, wodurch ein übermäßiger Festplattenzugriff durch langsame Maschinen vermieden werden kann E/A. Dies hilft auf langsameren Computern.
s Nachdem das Attribut festgelegt wurde und die Datei gelöscht wird, wird sie vollständig von der Festplatte gelöscht.
S Nachdem das Attribut festgelegt wurde, wird die Datei auf die Festplatte geschrieben synchron (normalerweise asynchron)
u Nachdem das Attribut festgelegt wurde, ist der Dateninhalt nach dem Löschen der Datei weiterhin auf der Festplatte vorhanden und die Datei kann abgerufen werden
e bedeutet, dass Datei ist eine ausführbare Datei
chattr
chattr wird zum Ändern von Dateiattributen verwendet. Wenn Sie ein Ubuntu-Benutzer sind, wechseln Sie zum Root-Benutzer. Sie können sudo vor dem Befehl hinzufügen, um ihn zu ändern
# 为 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
Eigentliche Operation
Aus dem oben Gesagten wissen wir, dass dies nicht möglich ist, wenn eine Datei entweder das Attribut i oder a festlegt Löschen Sie die Datei, also entfernen wir zuerst die i- und a-Attribute und führen dann den Löschvorgang durch:
# 移除 i, a 属性 chattr -ia file.sh # 查看是否移除成功 lsattr file.sh # 移除文件 rm -rf file.sh
Wenn die Datei noch nicht gelöscht wurde. Bei Erfolg müssen wir prüfen, ob der Ordner, zu dem die Datei gehört hat das i oder ein Attribut gesetzt (das ist wirklich schwer zu finden)
# 退回上一级 cd .. # 直接使用 lsattr 命令,这样可以列出当前文件夹下所有文件和文件夹的属性 # 不要使用 lsattr 文件夹 这样的语法,这样是列出该文件夹下的文件的属性
lsattr
Wenn der Ordner eingestellt ist, sollen die Attribute des Ordners entfernt werden, und Löschen Sie dann die Dateien im Ordner
Harvest
Obwohl lsattr und chattr dieses Mal zum Entfernen von Viren verwendet werden. Es wurde während des Prozesses entdeckt, aber durch Verständnis der Dateiattribute Wir haben festgestellt, dass wir in der tatsächlichen Arbeit Dateiattribute verwenden können, um wichtige Dateien vor versehentlichem Löschen zu schützen und sicherzustellen, dass Dateien nach versehentlichem Löschen wiederhergestellt werden können.
Wenn nach dem Bearbeiten der Datei immer noch keine Auswirkung auftritt, können wir versuchen, das Problem über den Ordner zu beheben.
Das obige ist der detaillierte Inhalt vonWas tun, wenn Linux Dateien nicht löschen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!