G1
、、、G2
およびuserグループがあるとしますU
。
ユーザーはU
2つのグループのメンバーですが、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
Debian システムでは、それを編集して/etc/default/nfs-kernel-server
存在することを確認することでこれを行いますRPCMOUNTDOPTS=--manage-gids
。