确定有效文件权限

确定有效文件权限

我想问一下ext4当目录权限和文件权限发生冲突时,Linux 操作系统在文件系统上使用什么规则。

例子:

 drwxrwx--- user1 group2 FOLDER
 -rw-r--r-- user1 group1 FILE

group2文件上的用户FILE拥有什么权限?...在​​这种情况下确定文件权限的一般规则是什么?

谢谢。

答案1

如果用户在 group2 中,那么他们将遵循目录 FOLDER 的组权限。即

rwx

假设他们不是用户 1,也不在组 1 中,那么我们将查看 FILE 的“其他”权限。即

r--

因此,他们只有此文件的读取权限。请注意,这有点令人困惑。他们无法直接修改此文件,因为他们没有写入权限。但是,由于他们拥有wx目录的写入权限,因此他们可以rm修改此文件,然后用新文件替换它。(注意:inode 可能会发生变化,他们无法将chown其归还给原始所有者,因此这与直接修改文件并不完全相同。)

因此,一般来说,权限会从最上级目录继承。随着权限越来越严格,它们会限制子文件和目录。但是,如上所述,如果您拥有wx顶级目录的权限,则有解决方法。


编辑

类似地,如果你用 编辑文件vim,你会看到 inode 发生变化。这不是“编辑”,而是“覆盖”。

$ echo foo > file
$ ls -li file 
5213942 -rw-r--r-- 1 sparhawk sparhawk 4 Aug 16 15:34 file
$ sudo chown root:root file
$ ls -li file 
5213942 -rw-r--r-- 1 root root 4 Aug 16 15:34 file
$ vim file
$ ls -li file 
5214750 -rw-r--r-- 1 lee lee 7 Aug 16 15:35 file

注意覆盖文件后 inode 的变化vim。还请注意,vim 发出警告,提示文件为只读。我不得不使用 进行保存:w!

相关内容