GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Datei kann nicht gelöscht werden, auch wenn sie als Root ausgeführt wird?

Ich bin dabei, eine Maschine von RHEL 4 auf 5 zu migrieren. Anstatt tatsächlich ein Upgrade durchzuführen, haben wir eine neue VM erstellt (beide Maschinen befinden sich in einer Cloud) und ich bin dabei, Daten zwischen den beiden zu kopieren.

Ich bin auf die folgende Datei gestoßen, die ich von der neuen Maschine entfernen muss, aber selbst als Root nicht ausführen kann:

-rw-------  1 2003 2003  219 jan 11 14:22 .bash_history

Diese Datei befindet sich in /home/USER/, wobei USER das Konto des Typen ist, der die Maschine gebaut hat. Er hat kein Konto auf dem alten Computer, also versuche ich, seinen Home-Ordner zu entfernen, damit der neue Computer mit dem alten übereinstimmt, aber ich erhalte die folgende Fehlermeldung:

rm: ne peut enlever `.bash_history': Opération non permise

(aus dem Französischen übersetzt:XXX kann nicht entfernt werden, Operation nicht erlaubt)

Ich habe versucht, den folgenden Befehl zu verwenden, aber das hat keinen Unterschied gemacht:

chattr -i .bash_history

Ist die einzige Möglichkeit, einen Benutzer mit der ID 2003 zu erstellen, oder gibt es einen anderen Weg, dies zu umgehen?

Bearbeiten

Ich habe versucht, rm -f zu verwenden , und ich bekomme den gleichen Fehler. Ich bekomme die gleiche Art von Fehler mit chmod 777 zuerst.

Ich konnte chown der Ordner, der die Datei enthält, die ich zu löschen versuche, also:

drwx------ 2 root root 1024 jan 24 15:58 USER

Bearbeiten2

Ausführen von lsattr Der von Angus vorgeschlagene Befehl ergab die folgende Ausgabe:

-----a------- USER/.bash_history
------------- USER/..
------------- USER/.

Die Datei wird als Nur-Anhängen gekennzeichnet – wenn Sie dieses Flag mit chattr -a .bash_history ändern Ich konnte die Datei löschen.

Akzeptierte Antwort:

Überprüfen Sie die Berechtigungen des Verzeichnisses . Um eine darin enthaltene Datei zu löschen, sollte sie von Ihnen beschreibbar sein

chmod ugo+w .

und nicht unveränderlich oder nur anhängend:

chattr -i -a .

Überprüfen Sie dies mit ls -la und lsattr -a .


Linux
  1. So machen Sie Dateien und Verzeichnisse unlöschbar, sogar von Root in Linux

  2. Erste Schritte mit ls

  3. Sind Linux-Dienstprogramme beim Ausführen von Pipe-Befehlen intelligent?

  4. .bash_profile nicht bezogen, wenn Su ausgeführt wird?

  5. Bash-Skripte können auch als Root nicht ausgeführt werden?

Werden beim Ausführen zu einem Runlevel vorherige Runlevel ausgeführt?

/etc/sudoers kann nicht angezeigt werden:Keine solche Datei oder Verzeichnis?

Wie mache ich eine Datei unter Linux dauerhaft schreibgeschützt, sodass selbst Root sie nicht bearbeiten kann?

Fordert den Benutzer auf, sich als Root anzumelden, wenn ein Shell-Skript ausgeführt wird

Warum kann ich diese Datei nicht als root löschen?

Wie lösche ich .fuse_hidden*-Dateien?