今週の初めから出張挟んで悩んでた件。
『NFS経由のグループによるアクセス制御は、補助グループが16を越えるとダメでした』というはなし。
samba(3.0.23d)のファイルサーバ。あるユーザがアクセス出来ないと連絡あり(このユーザ以外は問題なし)
認証には LDAP を使用していて統合されている。
計5台でファイルサーバ1台に見えるように、メインのサーバ1台に他の4台が nfs マウントされている。(過去にmsdfs proxy 形式から変更した経緯あり。Windows7ではうまく動かなかった。)そのnfsマウントされた領域をsambaで共有している。
このユーザの権限でファイルを作ろうとすると。
[root@fs kojin]# id furu-furu uid=1222(furu-furu) gid=1000(samba-users) 所属グループ=1000(samba-users),1001(dantai),1002(kojin),…………………,1032(nittei) # 32 のグループに所属してる。 [root@fs kojin]# pwd /mnt/samba/fs2/kojin # fs2 以下は nfs マウント [root@fs kojin]# ls -ld drwxrwsr-x 36 root kojin 4096 6月20日 15:59 ./ [root@fs kojin]# sudo -u furu-furu touch test touch: `test' に触れることができません: 許可がありません [root@fs kojin]# LANG=C sudo -u furu-furu touch test touch: cannot touch `test': Permission denied
こんな感じで、パーミッションは問題なさそうなんだけど書けない。
fs2 に直接ログインしての書き込みは可能。nfs経由からの書き込みがダメっぽい。
autofs で経由で接続されてるので autofs,nfs の設定見直して再接続してみたけどダメ。
調べてみると、nfs 経由のアクセスはユーザが所属する補助グループが16以下しかアクセスコントロールできないとのことらしい。
結局ファイルサーバへのアクセス権限の範囲を厳選してもらい、所属グループ数を減らしてもらいました。他のユーザもダメだったかもしれないですな。
みんなどうしてるんだろう、iSCSI とかつかうのだろうか?実験しとかないとダメですなー。
2011.6.27追記
iSCSI だと iscsi-initiator 経由でファイルシステム作り直す感じになるので、元からある共有領域をマウントはできないですな。
こちらを参考にさせて頂きました。ありがとうございます。
NFSアクセスにおけるグループ数の制限とは – OpenGroove