[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?
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.