Linux

Linux 使用者組和文件系統權限

  • March 6, 2015

假設我有組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存在來完成。

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