サーバー側で設定した /etc/idmapd.conf の内容と同じにします。
NFSv4 サーバー側のエクスポートディレクトリをマウントするためのマウントポイントを作成します。ここでは、/mnt/NFS を作成しています。
# mkdir /mnt/NFS |
サーバー側で作成したユーザーと同じようにユーザーを作成します。
# useradd -u 600 taro # useradd -u 601 jiro # passwd taro # passwd jiro # id taro uid=600(taro) gid=600(taro) groups=600(taro) # id jiro uid=601(jiro) gid=601(jiro) groups=601(jiro) |
クライアント側では portmap と rpc.idmapd を起動しておく必要があります。
# /etc/init.d/portmap start Starting portmapper: OK # /etc/init.d/rpcidmapd start Starting NFS4 idmapd: OK |
NFSv4 クライアントで NFS サーバー(nfsv4)のエクスポートディレクトリをマウントします。はじめに modprobe コマンドで nfs モジュールをロードします。NFSv4 の場合は、mount コマンドのファイルシステムタイプに -t nfs4 を指定します。また、マウントするディレクトリのパスは単に / と指定します。これは、/etc/exportfs で fsid=0 の指定されたディレクトリがクライアントからはルートディレクトリとして見えるためです(項16.5 を参照)。
# mount -t nfs4 -o rw,hard,intr nfsv4:/ /mnt/NFS |
![]() | mount のオプションには様々なものがありますが、ここでは、rw,hard,intr を指定しています。これらのオプションは必須ではありません。オプションの詳細については、man mount(8) を参照してください。 |
以下のように、/etc/fstab に記述しておけば、毎回オプションを指定する必要がなくなります。
nfsv4:/ /mnt/NFS nfs4 rw,hard,intr,noauto 0 0 |
/etc/fstab に記述した場合は、以下のように実行するだけでマウントすることができます。
# mount /mnt/NFS |
ファイルシステムのマウント後は、/mnt/NFS ディレクトリに対して、あたかもローカルのファイルシステムのようにファイルやディレクトリの作成、修正、削除が可能になります。
# cd /mnt/NFS/ # su taro $ touch test01 $ ls -l total 0 -rw-rw-r-- 1 taro taro 0 Sep 17 20:32 test01 $ exit |
また、root ユーザーでの書き込みは、エクスポートする際の root_squash 指定によって nfsnobody ユーザーになり、その他のユーザーの書き込みは nobody にマッピングされていることが確認できます。
# touch test02 # ls -l total 0 -rw-rw-r-- 1 taro taro 0 Sep 17 20:32 test01 -rw-rw-r-- 1 nfsnobody nfsnobody 0 Sep 17 20:32 test02 -rw-rw-r-- 1 nobody nobody 0 Sep 17 20:48 test03 |
ファイルシステムをアンマウントするには、以下のコマンドを実行します。なお、ユーザーが /mnt/NFS 以下のディレクトリにアクセスしている状態で、アンマウントすることはできません。
# umount /mnt/NFS |
NFSv2/v3 クライアントでマウントするのであれば、以下のように実行します。NFS サーバー側では、portmap が起動しており、最低でも /etc/hosts.allow で portmap、mountd へのアクセスがクライアントに対して許可されていなければなりません。mount コマンドの -t オプションには nfs を指定し、サーバー側のエクスポートディレクトリも / ではなく /home/NFS と通常のパスで指定します。
# mount -t nfs -o rw,hard,intr nfsv4:/home/NFS /mnt/NFS |