¿Por qué root puede ' t abrir un archivo para escritura?

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

: wq

Se produce un error.

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

¿Por qué root no puede «abrir el archivo para escribir?

enter descripción de la imagen aquí

Respuesta

Compruebe que el / usr / lib64 / sas12 el directorio ya existe:

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

Si no es el caso, debe crear el directorio antes de intentar crear el archivo:

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

Su comando vim ahora debería funcionar como se esperaba.

Comentarios

  • Gracias. De hecho, estaba haciendo un vi para un archivo dentro de una carpeta que no existía. Como: vi ~/bin/backup.
  • Respuesta

    O el sistema de archivos está montado como de solo lectura o esto no es un root problema de permisos pero una función vim. Utilice un editor diferente o cambiar los permisos del archivo (p. ej. haga que root sea el propietario del archivo), edite el archivo y cámbielos.

    Respuesta

    puede obtener este error cuando hay un atributo «+ a» establecido en un archivo. el comando chattr permitirá, solo, agregar, pero no eliminar el archivo existente.

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

    Comentarios

    • Esto resolvió mi problema, gracias

    Responder

    Esto puede suceder si también hay un archivo de intercambio en la misma ubicación que podría bloquear el archivo para su edición.

    ejemplo, busque el archivo

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

    Si este archivo existe, entonces no puede editarlo. Intente eliminarlo y luego editarlo debería funcionar.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *