FreeBSD(98) ハンドブック : FreeBSD(98)でIP接続 : NFS : サーバ側の設定
Previous: NFS
Next: クライアントの設定

3.9.1. サーバ側の設定

サーバー側では

    /etc/exports
    /etc/rc.conf    (デーモンの数を変えたい時)
を書き換えます。

3.9.1.1. /etc/exports

これは、どのディレクトリーをどのクライアントに提供するかを 設定します。1行に 1つのエントリーを記述していきます。 エントリーの形式には 2通りあり、ひとつは絶対パスでディレクトリーを 指定したものをホワイトスペースで区切って並べます。 もうひとつは、`-alldirs'フラグとともにディレクトリーを指定し、 その下の全てのディレクトリーをマウントポイントと できるようにします。同じディレクトリーを複数書き並べ、ホストや ネットワークごとにことなる条件でエクスポートすることができます。 エントリーの 2番目の項目は、どのようにエクスポートするかを指定します。 書き込みを許すのかそれとも読みだし専用にするのかとか、 ユーザIDをどのように取り扱うかなどのオプションです。 使用できるオプションは

-maproot=user

クライアントの rootは、サーバ上の userとしてアクセスできます。 userはユーザ名または数字で指定します。

-maproot=user:group1:group2:...

rootとしてアクセスできるユーザのグループを指定します。グループ は数字でも名前でもかまいません。

-mapall=user または -mapall=user:grou1:group2:...

クライアントのすべての uidをサーバーの uidとして使用します。

-ro

書き込み禁止でエクスポートします。

-kerb

Kerberosによる認証機構を使用します。(Kerberosが稼働していて かつTCPを使用する場合にのみ使用可能)

-mapallと-maprootがない場合、クライアントの rootがアクセスすると uidと gidがともに -2になります。

        /usr /usr/local -maproot=0:10 friends
        /usr -maproot=daemon grumpy.cis.uoguelph.ca 131.104.48.16
        /usr -ro -mapall=nobody
        /u   -maproot=bin: -network 131.104.48 -mask 255.255.255.0
        /u2  -maproot=root friends
        /u2  -alldirs -kerb -network cis-net -mask cis-mask

/u2/usr/usr/local は friendsに読み書き可でエクスポートされます。クライアントの rootはサーバーの uid=0、gid=10とみなされます。 /usr は、さらに、grumpy.cis.uoguelph.ca と 131.104.48.16 に読み書き可でエクスポートされます。 クライアントのrootはサーバーの daemonとみなされます。 それ以外のユーザについては、クライアントの uidと gidを使用します。 /usr は さらにリードオンリーで世界中に エクスポートされます。すべてのユーザーは nobodyとみなされます。

/u は、サブネット 131.104.48 のすべてのホストに エクスポートされます。クライアントの rootは binとみなされ、 どのグループにも属しません。

cis-netに属する全てのホストは /u2 のしたの全ての ディレクトリをマウントすることができます。すべてのユーザが クライアントの uidと gidを使用します。また、Kerberosによる 認証機構が働きます。

3.9.1.2. /etc/rc.conf

起動時にサーバーを機能させたい場合は、 /etc/rc.conf

nfs_server_enable=NO
nfs_server_enable=YES
にします。

3.9.1.3. /etc/rc.network

NFSデーモンは rcで起動されます。/etc/rc.network をみると、 <hr>

        if [ "X${nfs_server_enable}" = X"YES" -a -r /etc/exports ]; then
		echo -n ' mountd'
		if [ "X${weak_mountd_authentication}" = X"YES" ]; then
			mountd_flags="-n"
		fi
		mountd ${mountd_flags}
		if [ "X${nfs_reserved_port_only}" = X"YES" ]; then
			echo -n ' nfsprivport=YES'
			sysctl -w vfs.nfs.nfs_privport=1 >/dev/null 2>&1
		fi
		echo -n ' nfsd';		nfsd ${nfs_server_flags}
		if [ "X$rpc_lockd_enable" = X"YES" ]; then
		    echo -n ' rpc.lockd';		rpc.lockd
		fi
		if [ "X$rpc_statd_enable" = X"YES" ]; then
		    echo -n ' rpc.statd';		rpc.statd
		fi
        fi
<hr> となっています。必要に応じて/etc/rc.conf
nfs_server_flags="-u -t 4"
の数字を変更して下さい。


FreeBSD(98) ハンドブック : FreeBSD(98)でIP接続 : NFS : サーバ側の設定
Previous: NFS
Next: クライアントの設定