確定有效的檔案權限

確定有效的檔案權限

我想問一下,ext4當目錄權限和檔案權限之間有衝突時,Linux 作業系統在檔案系統上使用的規則是什麼。

例子:

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

group2文件中的使用者FILE將擁有什麼權限?

謝謝。

答案1

如果使用者位於 group2 中,那麼他們將遵循目錄 FOLDER 的群組權限。 IE

rwx

假設他們不是 user1 並且也不在 group1 中,那麼我們將查看 FILE 的「其他」權限。 IE

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

vim注意覆蓋檔案後 inode 的變化。另請注意,vim 會發出警告,指出該檔案是唯讀的。我不得不保存:w!

相關內容