
Tengo un recurso compartido heterogéneo, entre sistemas Linux y Windows, alojado en una NetApp. En Linux, monto el recurso compartido con esas opciones:
mount.cifs -o username=`logname`,dom=DOMAIN,cifsacl,multiuser,user_xattr,sec=krb5,iocharset=utf8,noserverino,mapchars //host/share /home/`logname`/mnt
Todos los permisos (establecidos desde Windows) se respetan correctamente. Sin embargo, hay un comportamiento extraño:
Si un usuario abre un archivo que creó en Windows (o una copia del mismo) con vim
o vi
, el archivo se abre en readonly
modo. Si lo modifica y lo escribe con :w!
,el archivo se bloquea, y ya no puede ser leído, ni siquiera por un administrador o root ( permission denied
).Sólo se puede eliminarpor uno de esos. Gedit abre dichos archivos de la misma manera: solo lectura.
Sin embargo, cuando dicho archivo se abre con nano
, se precisa [converted from DOS format]
y, cuando se guarda, se marca [dos format]
. El archivo se escribe y no se produce ningún problema.
¿Tienes alguna idea de por qué se comporta así?
EDITAR: Ya intenté deshabilitar las copias de seguridad e intercambiar archivos /etc/vimrc
con esas opciones:
set nobackup
set nowritebackup
set noswapfile
También lo intenté :w! ++ff=dos
y :w! ++ff=unix
, sin éxito.