Eu tenho um compartilhamento heterogêneo, entre sistemas Linux e Windows, hospedado em um NetApp. No Linux, montei o compartilhamento com essas opções:
mount.cifs -o username='logname',dom=DOMAIN,cifsacl,multiuser,user_xattr,sec=krb5,iocharset=utf8,noserverino,mapchars //host/share /home/'logname'/mnt
Todas as permissões (definidas no Windows) são corretamente honradas. No entanto, há um comportamento estranho:
Se um usuário abrir um arquivo criado no Windows (ou uma cópia dele) com vim
ou vi
, o arquivo será aberto no modo readonly
. Se ele modificar e gravar com :w!
, o arquivo será bloqueado e não poderá mais ser lido, mesmo por um administrador ou root ( permission denied
). Só pode ser excluído por um deles. O Gedit abre esses arquivos da mesma maneira: somente leitura.
No entanto, quando esse arquivo é aberto com nano
, é preciso [converted from DOS format]
e, quando salvo, ele é sinalizado [dos format]
. O arquivo é gravado e nenhum problema ocorre.
Você tem alguma ideia de por que se comporta assim?
EDIT: Eu já tentei desativar backups e trocar arquivos em /etc/vimrc
com essas opções:
set nobackup
set nowritebackup
set noswapfile
Também experimentamos :w! ++ff=dos
e :w! ++ff=unix
, sem sucesso.
Tags permissions vim nano cifs locked-files