NFSv4におけるユーザ

いろいろあってよくわからないのだけれども,rpc.idmapdを起動するようにしたら動作するようになったみたい.

なにも考えずに,/etc/exportfsに/homeを記述してNFSを起動する.そして適当なマシンでどっかにマウントする.すると,Ownerの欄にやたら大きい整数が表示されてしまう.さらにいうと,/homeにマウントしておくとsshの公開鍵認証が有効にならない!

これはNFSv4になって,ユーザの認証がユーザ名とドメインの組の文字列に変更になったかららしい.それが合わないとnobody相当になって変な値が表示されるようになる.

/homeを共有しようとするくらいだから,ユーザ名は揃っている.あとはドメインなのだけれども,ここで言うドメインとは,/etc/resolve.confなんかに書くドメインではなく,独自のもの(Oracle曰くNFSv4ドメイン)になっている.ホスト名がうまく設定できてなくても大丈夫!

/etc/idmapd.confというファイルを開くと,頭の方にDomainという項があるので,これを適当なもの(サーバとクライアントで共通なものなら何でもいい.ユニークな方がいいかも)を記述しておく.サーバの方はnfsに引き摺られて起動しているのでいいのだけれども,クライアントの方ではrpc.idmapdが起動するようにしておけばよい.

するとオーナーに,キチンとユーザ名が表示されるとさ,めでたしめでたし.