Vim强制写入w!的分析
前提条件:
两个用户(arod和alex)的属性:均支持project组(附加组)
原文件(abcd)及目录(/srv/ahome)的详细属性和权限:abcd文件的所有者、所属用户组均是arod用户,/ahome目录对project组(arod、alex)开放rwx权限(使用者要修改一个文件至少需要该文件所在目录的x权限)
分析:
alex用户使用vim编辑abcd文件,会产生一个所有者、所属组均为执行者alex的.abcd.swp暂存文件(此时并未写入/保存编辑文件)
在vim的命令/末行模式下通过 :!ls -al 查看
当使用w!命令强制写入文件后,.abcd.swp暂存文件和原abcd文件的所有者、所属组均变成执行者alex
(由于文件所在目录对project组(alex用户)开放w写入权限,alex用户可在该目录下新建文件、删除文件、修改文件名等操作。alex用户使用w!强制写入abcd文件,就相当于alex用户创建专属自己的新abcd文件覆盖掉原文件)
再使用:q命令退出vim编辑后,.abcd.swp暂存文件被自动删除,只保留新的abcd文件
结论验证:
去掉/srv/ahome目录对组的w写入权限
使用arod用户编辑新abcd文件(新abcd文件的所有者、所属组均为alex用户)
在vim的命令模式下通过:!ls -al命令查看当前目录下的所有文件的详细信息
可知,此时并没有产生对应的.xxx.swp暂存文件(因为/ahome目录对project组(arod用户)没有开放w写入权限)
尝试通过:w命令强制写入,提示失败(还是因为没有w写入权限,也不存在.swp暂存文件来覆盖编辑文件)
此时,通过q!命令放弃对文本的修改强制退出,查看目录下的文件的详细信息,可知abcd文件并没有发生任何变化(arod用户无法对其写入、修改,只可读)
参考资料:
<http://bbs.chinaunix.net/thread-4139694-1-1.html>
<http://bbs.51cto.com/viewthread.php?tid=1155008&extra=&page=2>
转载于:https://www.cnblogs.com/dayoyan/p/8652158.html
Vim强制写入w!的分析相关推荐
- Kudu - 一个融合低延迟写入和高性能分析的存储系统
Kudu 是一个基于 Raft 的分布式存储系统,它致力于融合低延迟写入和高性能分析这两种场景,并且能很好的嵌入到 Hadoop 生态系统里面,跟其他系统譬如 Cloudera Impala,Apac ...
- linux系统脚本安装失败,ubuntu16.04下vim安装失败的原因分析及解决方案
先给大家说下问题描述? 重装了ubuntu系统,安装vim出现了以下问题: sudo apt-get install vim 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信 ...
- linux vim 强制退出 不保存
linux vim 强制退出不保存T
- linux进入了vim强制退出,linux中的vim编辑器怎么强制退出
linux中的vim编辑器怎么强制退出 发布时间:2020-07-02 15:31:10 来源:亿速云 阅读:176 作者:元一 linux中的vim编辑器怎么强制退出?很多新手对此不是很清楚,为了帮 ...
- clickhouse批量写入_交互式分析领域,为何 ClickHouse 能够杀出重围?
来源:微信公众号:云加社区,作者:姜国强 出处:https://mp.weixin.qq.com/s/9PZTws3KSzlybHXM6XC2hg 导语 | 在百花齐放的交互式分析领域,ClickHo ...
- linux文件强制保存,Vim 强制保存只读文件的方法
在使用vim时,当我们以普通用户去打开一个只有root用户才有权限操作的文件时,我们编辑完成之后,正要保存,却发现,这个文件我们没有权限修改. 每次遇到这样的问题,我都很头疼,好不容易把文件编辑完了, ...
- Linux ,强制更新只读文件,强制写入命令
2019独角兽企业重金招聘Python工程师标准>>> 用vi修改好文件后,发现文件对你来说,是只读权限的,可以使用下面的命令进行强制保存该文件. :w !sudo tee % 转载 ...
- Vim 强制保存只读类型文件的方法
发现问题: 在使用vim时,当我们以普通用户去打开一个只有root用户才有权限操作的文件时,我们编辑完成之后,正要保存,却发现,这个文件我们没有权限修改. 每次遇到这样的问题,我都很头疼,好不容易把文 ...
- 物联网数据库需求——写入快,分析能力强
转自:http://blog.csdn.net/kanghua/article/details/44650625 物联网是当前最具发展潜力的技术潮流,到2020年全球将有200亿-2000亿物联网设备 ...
最新文章
- Firefox Quantum 向左,Google Chrome 向右
- 专访DeepID发明者孙祎:关于深度学习与人脸算法的深层思考
- Simple Introduction to Dirichlet Process
- Py之easygui:easygui的简介、安装(最正确安装)、使用方法之详细攻略
- 开放下载!《DTS控制台入门一本通》
- vue项目 一行js代码搞定点击图片放大缩小
- JAVA字符串功能,Java分析字符串功能
- java 反射如何给属性赋值_关于Java属性反射的异常问题
- 神经结构化学习 4 图像分类的对抗性学习Adversarial learning for image classification
- FFmpeg录制视频黑屏
- sap服务器的文件管理,SAPPLM 文档管理介绍
- SUBMAIL群发邮件API接口-Mail/send
- POI 设置Word表格边框、表格文字水平居中
- Python:RSA秘钥生成与加密解密整理
- h2o java_h2o steam
- Mysql5.7 的错误日志中最常见的note级别日志解释
- 油猴插件(Tampermonkey)安装教程
- 领导合影站位图_领导主席台座次安排图解:政务礼仪
- 最常用的35中心里效应
- H.264——H.264的基本介绍
热门文章
- JS实现的ajax发送数据重复
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 ——材料清单
- 大数据WEB阶段(十三)JSP(二)JSP标签、EL表达式、JSTL
- 【STM32】STM32F4系统架构
- 【STM32】Keil5支持包下载教程
- curl取跳转地址 php_PHP使用CURL获取302跳转后的地址实例
- 微信小程序 列表的分页实现(最新的最简易的实现方式+思路,附代码)
- Bmob云IM实现头像更换并存入Bmob云数据库中(1.拍照替换,2.相册选择)
- 每天一道LeetCode-----比较两个字符串,每个字符串被若干'.'分成多个数字,一个个比较
- java(8)——和、|和||、!、^及三目运算符