G1
, G2
, 및 user 그룹이 있다고 가정합니다 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
먼저 이 작업을 수행한 다음 거기에 폴더를 만들려고 시도하는 경우에만 작동합니다.
답변1
NFS 문제인 것 같습니다. NFS가 관련되어 있나요?
Debian 기반 시스템(및 기타 시스템)에서 실행되는 NFS 서버는 별도로 명시하지 않는 한 보조 그룹을 무시하도록 구성됩니다. 프로그램 --manage-gids
에 제공되는지 확인하세요 . rpc.mountd
데비안 시스템에서는 이를 편집 /etc/default/nfs-kernel-server
하고 존재하는지 확인함으로써 이를 수행합니다 RPCMOUNTDOPTS=--manage-gids
.