Linux

即使使用者是組的一部分,也無法訪問組文件

  • February 18, 2019

我正在嘗試以testuser身份訪問目錄ayush。此目錄歸使用者所有,ayush並具有組git 該目錄具有權限 0070 和組git,並且ayush是該組的成員。

ayush:~> ls -ld
drwxr-xr-x 7 ayush git 4096 Feb 15 11:33 .
ayush:~> ls
test
ayush:~> ls -ld test/
drwxrwx--- 3 ayush git 4096 Feb 15 11:34 test/
ayush:~> chmod 070 test/ 
ayush:~> ls -ld test/
d---rwx--- 3 ayush git 4096 Feb 15 11:34 test/
ayush:~> ls -l test/ 
ls: cannot open directory test/: Permission denied
ayush:~> groups
git
ayush:~> id
uid=11417(ayush) gid=30(git) groups=30(git)

我已經看到這個錯誤有一段時間了,以前沒有。這不是一個新組,我在我的一些程式碼中到處使用它。

順便說一句,我切換到另一個使用者,他也是該組的一部分,他能夠毫無問題地訪問“測試”目錄。

**編輯1:**不僅如此,我無法更改具有770權限的文件夾“test”的組。我收到“不允許操作”錯誤。而且,我只有“git”組面臨這個問題。我可以將文件夾的組切換到我所屬的另一個組。但是後來我無法將使用者切換回“git”。

我發現了這個問題。我有 16 個組的上限,我已將我的使用者添加到 17 個組。“git”組被列為最後一個,因此在進行組操作時我不被視為其中的成員,因為只考慮了前 16 個組。

由於您是文件的所有者,因此“使用者”權限適用。

僅當您不是所有者時,組權限才適用。

同樣,“其他”權限僅適用於您不是所有者且不在組中的情況。

一個區別是root使用者,即使權限另有說明,他也可以讀取文件:-)

引用自:https://unix.stackexchange.com/questions/501045