vim如何写一个只读文件?
发布时间:2020-12-15 21:55:18 所属栏目:安全 来源:网络整理
导读:对不起新手问题.我想知道,vim如何设法写一个只读文件.我对文本文件有555个权限.但是,当我打开写点什么,然后:w!,我对文件所做的更改已保存.我想知道vim是如何在后台做这个的!!是暂时将权限更改为755并写入并恢复权限?请指教. 解决方法 编辑:我最初回答了
对不起新手问题.我想知道,vim如何设法写一个只读文件.我对文本文件有555个权限.但是,当我打开&写点什么,然后:w!,我对文件所做的更改已保存.我想知道vim是如何在后台做这个的!!是暂时将权限更改为755并写入并恢复权限?请指教.
解决方法
编辑:我最初回答了有关UNIX权限如何工作的正确但最终无关的信息:这不是Vim正在做的事情.
确实,你是对的:当你发布:w!,并且你在UNIX上时,如果需要,Vim将添加写权限: /* When using ":w!" and the file was read-only: make it writable */ if (forceit && perm >= 0 && !(perm & 0200) && st_old.st_uid == getuid() && vim_strchr(p_cpo,CPO_FWRITE) == NULL) { perm |= 0200; (void)mch_setperm(fname,perm); made_writable = TRUE; } 然后重新将其重置: if (made_writable) perm &= ~0200; /* reset 'w' bit for security reasons */ 它也反映在帮助中:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |