Linux
Linux 使用者組和文件系統權限
假設我有組
G1
,和G2
,和使用者U
。使用者
U
是兩個組的成員,但G1
它是主要組。在我的文件系統中,有一個文件夾
F
可供G2
. 現在,如果U
想要訪問F
它的唯一方法就是先做newgrp G2
,然後再訪問,這不是我希望我的使用者一直做的事情。我該怎麼辦?
具體例子:
ajalali@ws47lx:/projects/gchrupala$ stat . File: `.' Size: 17 Blocks: 0 IO Block: 1048576 directory Device: 15h/21d Inode: 150 Links: 3 Access: (0775/drwxrwxr-x) Uid: ( 6052/gchrupala) Gid: ( 6000/nis_users) Access: 2015-03-05 15:34:46.260662858 +0100 Modify: 2013-03-05 16:35:16.000000000 +0100 Change: 2013-06-10 20:40:25.418034444 +0200 Birth: - ajalali@ws47lx:/projects/gchrupala$ id uid=1004(ajalali) gid=1001(ajalali) groups=1001(ajalali),6000(nis_users),6060(admin),6061(sudo),1625200000(admins),1625200001(lsv_local),1625200035(compute_server_users),1625200036(contact_server_users) ajalali@ws47lx:/projects/gchrupala$ mkdir tmp mkdir: cannot create directory `tmp': Permission denied
使用者 (ajalali) 是擁有目前文件夾 (6000) 的組的成員,但不能在那裡做任何事情,因為它的主要組 (1001) 不是擁有目前文件夾的組。
newgrp nis_users
只有當使用者先這樣做,然後嘗試在那裡創建一個文件夾時,它才會起作用。
這看起來像一個 NFS 問題。是否涉及 NFS?
在基於 Debian 的系統以及可能的其他系統上執行的 NFS 伺服器被配置為忽略補充組,除非另有說明。確保
--manage-gids
已提供給rpc.mountd
程序。在 Debian 系統上通過編輯/etc/default/nfs-kernel-server
並確保它RPCMOUNTDOPTS=--manage-gids
存在來完成。