vim没有权限却可以强制保存时所引起的思考 ------ 文件夹权限对所属文件的权限影响

最近在拿着Linux 鸟叔私房菜对着Linux 系统学习一下基本操作,虽然已经使用Linux系统已经好多年不过却一直没有系统的学习一下。在用vim 编辑一个文件的时候出现了一个很神奇的事情,明明该文件是root创建的,而普通用户是没有写权限的,而我无意中用普通用户写了以后竟然可以保存,虽然是强制保存但是毕竟是保存了,这并不符合权限的操作要我感到疑惑,为此在晚上搜索了好久也没有找到什么靠谱的解答,最后还是在私房菜这本书中找到了答案,那就是文件所在目录的权限是可以影响目录内的文件的。

 

用户对某文件目录可读,  r,   那么用户对目录下的所有文件都是可见的。

 

用户对某文件目录可写,  w,  那么:

你可以在该目录之下新建文件和目录

你可以删除该目录下的任何文件及目录(不论该文件的权限如何)

将已经存在的该目录下的文件或目录进行重命名

转移该目录下的文件和目录的位置

基本上如果用户对某目录具有 w 权限 就可以对该目录下面的所有文件及目录进行 关于文件名的修改。

 

 

root 新建立了一个 txt 文件 , 123.txt

 

 

123.txt  所在目录的权限如上, 是普通用户的rwx

 

 

 

 

 

123.txt  文件内容如上。

 

 

 

 

 

修改文件内容:

 

 

 

强制保存成功,  wq!

 

 

再次查看权限:

 

 

发现 vim 强制保存成功后,文件所属的用户及组都已经变化了。

 

 

 

 

个人观点:

vim 的强制保存  其实是新建了一个文件,  也就是说它把该原文件(可读)的内容,已经修改好的内容保存,并且删除掉原文件,并重新建立文件,再把内容写回去。

 

posted on   Angry_Panda  阅读(685)  评论(1编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示