前提条件:

两个用户(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!的分析相关推荐

  1. Kudu - 一个融合低延迟写入和高性能分析的存储系统

    Kudu 是一个基于 Raft 的分布式存储系统,它致力于融合低延迟写入和高性能分析这两种场景,并且能很好的嵌入到 Hadoop 生态系统里面,跟其他系统譬如 Cloudera Impala,Apac ...

  2. linux系统脚本安装失败,ubuntu16.04下vim安装失败的原因分析及解决方案

    先给大家说下问题描述? 重装了ubuntu系统,安装vim出现了以下问题: sudo apt-get install vim 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信 ...

  3. linux vim 强制退出 不保存

    linux vim 强制退出不保存T

  4. linux进入了vim强制退出,linux中的vim编辑器怎么强制退出

    linux中的vim编辑器怎么强制退出 发布时间:2020-07-02 15:31:10 来源:亿速云 阅读:176 作者:元一 linux中的vim编辑器怎么强制退出?很多新手对此不是很清楚,为了帮 ...

  5. clickhouse批量写入_交互式分析领域,为何 ClickHouse 能够杀出重围?

    来源:微信公众号:云加社区,作者:姜国强 出处:https://mp.weixin.qq.com/s/9PZTws3KSzlybHXM6XC2hg 导语 | 在百花齐放的交互式分析领域,ClickHo ...

  6. linux文件强制保存,Vim 强制保存只读文件的方法

    在使用vim时,当我们以普通用户去打开一个只有root用户才有权限操作的文件时,我们编辑完成之后,正要保存,却发现,这个文件我们没有权限修改. 每次遇到这样的问题,我都很头疼,好不容易把文件编辑完了, ...

  7. Linux ,强制更新只读文件,强制写入命令

    2019独角兽企业重金招聘Python工程师标准>>> 用vi修改好文件后,发现文件对你来说,是只读权限的,可以使用下面的命令进行强制保存该文件. :w !sudo tee % 转载 ...

  8. Vim 强制保存只读类型文件的方法

    发现问题: 在使用vim时,当我们以普通用户去打开一个只有root用户才有权限操作的文件时,我们编辑完成之后,正要保存,却发现,这个文件我们没有权限修改. 每次遇到这样的问题,我都很头疼,好不容易把文 ...

  9. 物联网数据库需求——写入快,分析能力强

    转自:http://blog.csdn.net/kanghua/article/details/44650625 物联网是当前最具发展潜力的技术潮流,到2020年全球将有200亿-2000亿物联网设备 ...

最新文章

  1. Firefox Quantum 向左,Google Chrome 向右
  2. 专访DeepID发明者孙祎:关于深度学习与人脸算法的深层思考
  3. Simple Introduction to Dirichlet Process
  4. Py之easygui:easygui的简介、安装(最正确安装)、使用方法之详细攻略
  5. 开放下载!《DTS控制台入门一本通》
  6. vue项目 一行js代码搞定点击图片放大缩小
  7. JAVA字符串功能,Java分析字符串功能
  8. java 反射如何给属性赋值_关于Java属性反射的异常问题
  9. 神经结构化学习 4 图像分类的对抗性学习Adversarial learning for image classification
  10. FFmpeg录制视频黑屏
  11. sap服务器的文件管理,SAPPLM 文档管理介绍
  12. SUBMAIL群发邮件API接口-Mail/send
  13. POI 设置Word表格边框、表格文字水平居中
  14. Python:RSA秘钥生成与加密解密整理
  15. h2o java_h2o steam
  16. Mysql5.7 的错误日志中最常见的note级别日志解释
  17. 油猴插件(Tampermonkey)安装教程
  18. 领导合影站位图_领导主席台座次安排图解:政务礼仪
  19. 最常用的35中心里效应
  20. H.264——H.264的基本介绍

热门文章

  1. JS实现的ajax发送数据重复
  2. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 ——材料清单
  3. 大数据WEB阶段(十三)JSP(二)JSP标签、EL表达式、JSTL
  4. 【STM32】STM32F4系统架构
  5. 【STM32】Keil5支持包下载教程
  6. curl取跳转地址 php_PHP使用CURL获取302跳转后的地址实例
  7. 微信小程序 列表的分页实现(最新的最简易的实现方式+思路,附代码)
  8. Bmob云IM实现头像更换并存入Bmob云数据库中(1.拍照替换,2.相册选择)
  9. 每天一道LeetCode-----比较两个字符串,每个字符串被若干'.'分成多个数字,一个个比较
  10. java(8)——和、|和||、!、^及三目运算符