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