Perché root non può ' aprire file in scrittura?

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

: wq

Si è verificato un errore.

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

Perché root non può “t aprire il file in scrittura?

invio descrizione dellimmagine qui

Risposta

Verifica che / usr / lib64 / sas12 directory già esistente:

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

Se non è il caso, è necessario creare la directory prima di tentare di creare il file:

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

Il comando vim dovrebbe ora funzionare come previsto.

Commenti

  • Grazie. In realtà stavo facendo un vi per un file allinterno di una cartella che non esisteva. Come: vi ~/bin/backup.

Risposta

O il filesystem è montato in sola lettura o questo non è un problema di autorizzazione root ma una funzione vim. Utilizza un editor diverso o modificare i permessi del file (ad es. rendere root il proprietario del file), modificare il file e ripristinarlo.

Risposta

puoi ricevere questo errore quando cè un attributo “+ a” impostato su un file. il comando chattr consentirà solo di aggiungere, ma non di eliminare, il file esistente.

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

Commenti

  • Questo ha risolto il mio problema, grazie

Risposta

Ciò può accadere se nella stessa posizione è presente anche un file di scambio che potrebbe impostare un blocco sul file per la modifica.

esempio cerca il file

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

Se questo file esiste, non puoi “modificarlo. Prova a rimuoverlo e poi a modificarlo dovrebbe funzionare.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *