NFS (Network File System) は SMB/CIFS,AFP と同様に NAS (Network Attached Storage) を実現するためのプロトコルです。NFS サーバのファイルシステムを NFS クライアントがマウントして利用します。設定例を紹介します。
インストールされていなければ NFS を yum で導入します。
$ sudo yum install nfs-utils
共有ディレクトリを作成します。所有者は nfsnobody としておくと後々都合がよいです。
$ sudo mkdir -p /data/share
$ sudo chown nfsnobody: /data/share
設定ファイルを編集します。
$ sudo vi /etc/exports
/data/share 192.168.50.0/24(rw,sync,all_squash)
NFS サービスを自動起動に登録してサービス開始します。
$ sudo service nfs start
$ sudo chkconfig nfs on
$ sudo chkconfig --list | grep nfs
2049 番ポートをリッスンしていることが確認できます。
$ sudo netstat -ltunp | grep 2049
$ sudo netstat -ltup | grep nfs
マウントポイントを作成します。
$ sudo mkdir -p /data/192.168.50.1
マウントします。少々時間がかかります。
$ sudo mount -t nfs 192.168.50.1:/data/share /data/192.168.50.1
処理が戻ってきたらマウントされていることを確認します。
$ df -h
Filesystem Size Used Avail Use% Mounted on
...
192.168.50.1:/data/share 38G 676M 36G 2% /data/192.168.50.1
ディレクトリおよびファイルを作成してみます。
$ mkdir /data/192.168.50.1/dir
$ touch /data/192.168.50.1/dir/file.txt
所有者 nfsnobody として作成されていることが確認できます。
192.168.50.1$ ls -l /data/share/
drwxrwxr-x. 2 nfsnobody nfsnobody 4096 Apr 21 16:00 dir
192.168.50.1$ ls -l /data/share/dir/
-rw-rw-r--. 1 nfsnobody nfsnobody 0 Apr 21 16:00 file.txt
サーバ側からは nfsnobody ユーザとならないため書き込みできません。
192.168.50.1$ touch /data/share/file2.txt
touch: cannot touch `/data/share/file2.txt': Permission denied
アンマウントするには以下のコマンドを発行します。
$ sudo umount /data/192.168.50.1
ここまでの設定だけでは、再起動するとマウントが外れるため再度 mount コマンドを発行しなければなりません。再起動時に自動でマウントするためには /etc/fstab を編集します。
/etc/fstab
192.168.50.1:/data/share /data/192.168.50.1 nfs defaults 0 0