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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强制编辑文件,文件属主和属组自动改变相关的知识,希望对你有一定的参考价值。

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

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

[[email protected] test]# ll -d ../test/
drwxr-xrwx. 2 root root 4096 Aug  6 19:05 ../test/
[[email protected] test]# touch test.txt
[[email protected] test]# ll -d test.txt 
-rw-r--r--. 1 root root 0 Aug  6 19:10 test.txt

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

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

vim file  编辑这个文件,然后不要退出编辑
在另外一个终端上查看这个文件所在的目录下面的隐藏文件
发现.file.swp这么一个文件,
这就是那个临时的隐藏文件

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

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

以上是关于强制编辑文件,文件属主和属组自动改变的主要内容,如果未能解决你的问题,请参考以下文章

修改 MySQL 数据库文件夹的属主和属组操作

在linux中文件属主、属组是啥意思?

Linux-文件权限

Linux-文件权限

linux基础知识-第五天

linux基础知识-第五天