Warum root Kann ' keine Datei zum Schreiben öffnen?

[root@localhost ~]# vim /usr/lib64/sas12/smtpd.conf pwcheck_method: saslauthd mech_list: PLAIN LOGIN log_level:3 

: wq

Es tritt ein Fehler auf.

"/usr/lib64/sas12/smtpd.conf" E212: Can"t open file for writing. 

Warum kann root die Datei nicht zum Schreiben öffnen?

eingeben Bildbeschreibung hier

Antwort

Überprüfen Sie, ob / usr / lib64 / sas12 Verzeichnis existiert bereits:

root@host:~# ls /usr/lib64/sas12 

Wenn dies nicht der Fall ist, müssen Sie das Verzeichnis erstellen, bevor Sie versuchen, die Datei zu erstellen:

root@host:~# mkdir -p /usr/lib64/sas12 root@host:~# vim /usr/lib64/sas12/smtpd.conf 

Der Befehl vim sollte jetzt wie erwartet funktionieren.

Kommentare

  • Danke. Ich habe tatsächlich ein vi für eine Datei in einem Ordner erstellt, der nicht vorhanden war. Als: vi ~/bin/backup.

Antwort

Entweder ist das Dateisystem schreibgeschützt gemountet, oder dies ist kein root Berechtigungsproblem aber eine vim -Funktion. Verwenden Sie einen anderen Editor oder ändern Sie die Dateiberechtigungen (z. Machen Sie root zum Dateieigentümer), bearbeiten Sie die Datei und ändern Sie sie zurück.

Antwort

Sie können diesen Fehler erhalten, wenn für eine Datei das Attribut „+ a“ festgelegt ist. Mit dem Befehl chattr kann die vorhandene Datei nur angehängt, aber nicht gelöscht werden.

server123:/tmp # chattr +a manish server123:/tmp # lsattr manish -----a---------- manish 

Kommentare

  • Dies löste mein Problem, thx

Antwort

Dies kann passieren, wenn sich am selben Speicherort auch eine Auslagerungsdatei befindet, die möglicherweise eine Sperre für die Datei zum Bearbeiten festlegt.

Beispiel: Suchen Sie nach der Datei

/usr/lib64/sas12/.smtpd.conf.swp

Wenn diese Datei vorhanden ist, können Sie sie nicht bearbeiten. Versuchen Sie, sie zu entfernen, und dann sollte sie funktionieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.