NFS と uid, gid
最近になってようやく NFS の便利さを実感しているわけですが、ここでちょっといやな感じの発見が。それは
各システムで uid, gid が合ってない
って辺り。まぁユーザーが手作業でいじるデータについてはそんなに影響がないんですが(まだ大人数管理とかしてないし)、デーモンがアクセスするファイルになるとちょっと勝手が変わってきますね、これ。
例えば Web サーバの権限で生成、更新を行っているファイルを NFS でマウントした領域に置くとすると、NFS クライアントが思っている owner の意味と NFS サーバが思っている owner の意味が食い違ってくるわけです。NFS サーバがそれ以外何も仕事をしていないならいいですけど、例えば予備機として、自分のローカルのディスクにあるデータを活かしてそのままサービスを提供できるようにしときたいじゃないですか。でも uid, gid が合ってないとそれができないわけです。また、NFS サーバはそのままで、NFS クライアント側をリプレイスする際も、uid, gid が一致しているかどうかを気にしておく必要があります。
chown, chgrp し直せばいいだけの話っちゃ話なんですが、できるだけダウンタイムを短くしようと思うなら、これは統一しておいた方がよさげですね。気づかずにハマりそう。
ちらっと見た限りでは、個人的には FreeBSD の一部のデーモン用の id の振り方が好きですね。例えば www は 80, bind は 53, sshd は 22 など、デフォルトの port と一致しているのですぐに把握できます。今後はこれを参考にしていこうっと。
あ。Linux の exports には uid, gip の map 機能があるのか。これは使える。FreeBSD は maproot と mapall しかないんだよな。これでも本当は十分なのかもしれないけど。