首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >强制编辑文件,文件属主和属组自动改变

强制编辑文件,文件属主和属组自动改变

作者头像
张琳兮
发布2018-09-10 11:41:27
发布2018-09-10 11:41:27
1.3K00
代码可运行
举报
文章被收录于专栏:首富手记首富手记
运行总次数:0
代码可运行

今天研究文件权限的时候发现了下面一个奇怪的问题,问题如下:

为什么对文件的权限是r--权限 对文件所在目录的权限是rwx权限 我们也能强制保存文件,但是保存之后的文件属主和属主就变了? 猜想:因为我们文件所在目录有rwx权限,说明我们能修改目录block块的内容, 这个时候是文件的属性变化了,难道不是操作inode块的内容吗? inode块更block块有什么关系

代码语言:javascript
代码运行次数:0
运行
复制
[root@shoufu test]# ll -d ../test/
drwxr-xrwx. 2 root root 4096 Aug  6 19:05 ../test/
[root@shoufu test]# touch test.txt
[root@shoufu test]# ll -d test.txt 
-rw-r--r--. 1 root root 0 Aug  6 19:10 test.txt

[zsf@shoufu test]$ ll -d test.txt 
-rw-r--r--. 1 root root 0 Aug  6 19:10 test.txt
[zsf@shoufu test]$ echo "1231" >>test.txt
-bash: test.txt: Permission denied
[zsf@shoufu test]$ vim test.txt   #强制保存
[zsf@shoufu test]$ ll -d test.txt #保存之后发现属主和属组就变了
-rw-r--r--. 1 zsf zsf 36 Aug  6 19:11 test.txt

请教五行哥得以解答: 原因,因为vim创建文件的时候是先生成一个隐藏的文件,然后等到保存的那一个时刻,拿这个隐藏的文件直接替换原文件。

代码语言:javascript
代码运行次数:0
运行
复制
vim file  编辑这个文件,然后不要退出编辑
在另外一个终端上查看这个文件所在的目录下面的隐藏文件
发现.file.swp这么一个文件,
这就是那个临时的隐藏文件

这个时候就得以解决上面那个问题, 因为我们强制保存的时候,相当于那这个隐藏的文件去覆盖以前的文件了,我们又是使用zsf这个用户编辑的,所以现在这个文件就相当于是zsf这个创建的这个文件,所以文件的属主和属组会改变

总结: 想问题不要那么的片面,为什么学习权限的时候一定要从权限方面查找所有出现的问题呢?学会全局掌控。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/08/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档