MOUNTD(8) | FreeBSD System Manager's Manual | MOUNTD(8) |
名前
mountd - NFS マウントデーモン書式
/usr/sbin/rpc.mountd [ -f exports-file ] [ -d facility ] [ -P port ] [ -Dhnprv ] [ --debug facility ] [ --exports-file=file ] [ --help ] [ --allow-non-root ] [ --re-export ] [ --no-spoof-trace ] [ --version ]説明
mountd プログラムは NFS のマウントデーモンである。 mountd は NFS クライアントから MOUNT リクエストを受け取ると、エクスポートファイル /etc/exports のリストを参照し、そのリクエストが正当なものかどうかをチェックする。クライアントがそのファイルシステムのマウントを許可されている場合には、 mountd は要求されたディレクトリのファイルハンドルを作成し、そのエントリを /etc/rmtab に追加する。 UMOUNT リクエストを受け取ると、 mountd はクライアントのエントリを rmtab から削除する。ただし UMOUNT リクエストの後でも、クライアントは依然ファイルハンドルを扱うことが可能であることに注意すること (例えばクライアントが同じリモートファイルシステムを別々のマウントポイントにマウントしている場合など)。またクライアントが mountd に知らせずにリブートすると、 rmtab に古いエントリが残ってしまうことにも注意すること。inetd からの起動
mountd は通常システムのブート時に起動するが、 inetd から起動することもできる。以下の 2 行を /etc/inetd.conf に追加すればよい:
mount/1-2 dgram rpc/udp wait root /usr/sbin/rpc.mountd rpc.mountd
mount/1-2 stream rpc/tcp wait root /usr/sbin/rpc.mountd rpc.mountd
inetd から起動した場合には、適当な期間に動作要求がないと mountd は終了する。
オプション
- -f または --exports-file
- このオプションはエクスポートファイルを指定する。エクスポートファイルには、このサーバーがサービスを提供するクライアントと、それぞれのマウントに対して適用されるパラメータがリストされている ( exports(5) を見よ)。デフォルトのエクスポートファイルは /etc/exports である。
- -d facility または --debug facility
- それぞれのトランザクションに対する詳細な内容を、標準エラー出力にログ表示する。 facility に指定できるのは、 call (すべてのコールを記録)、 auth (クライアントの認証)、 fhcache (ファイルハンドルのキャッシュ操作)、 rmtab ( /etc/rmtab の操作) である。デフォルトでは、デーモンがフォアグラウンドで実行されなければ、ログ出力は syslogd に送られる。
- -F または --foreground
- 通常 mountd は端末から分離 (detach) するが、このオプションが与えられると分離しない。 debug 情報は標準エラー出力に表示される。
- -h または --help
- ヘルプの短い要約を表示する。
- -n または --allow-non-root
- IP の特権ポート以外から来たマウント要求も許可する。 NFS クライアントの古い実装では、この指定が必要な場合がある。逆に新しい実装には、特権ポートのチェックを信頼しないものがある。
- -P portnum または --port portnum
- mountd に portnum ポートを監視させる。デフォルトでは、 mountd は /etc/services で指定されている mount/udp ポートを監視する (あるいはこれが指定されていないと 1024 以下の任意のポートを監視する)。
- -p または --promiscuous
- サーバを「無制限 (promiscuous)」モードにする。ネットワーク上のすべてのホストに対してサービスを提供する。
- -r または --re-export
- インポートした NFS や SMB ファイルシステムの再エクスポートを許す。これにより、マシンは NFS/SMB の中継器となる。ループバックマウントを再エクスポートするときには特に注意すること。マウントポイントに再入すると、クライアントファイルシステムのコードとサーバーはデッドロックしてしまう。
- -t または --no-spoof-trace
- デフォルトでは、 mountd は権限のないクライアントからの全てのアクセスをログに記録する。このオプションを使うと、 exports ファイルに明示的にリストされている全てのホストについて、このような成りすまし行為をログに記録しない。
- -v または --version
- プログラムの現在のバージョン番号を表示する。
アクセス制御
セキュリティを強化するため、 mountd へのアクセスは TCP wrapper ライブラリで制限することができる。同ライブラリは Wietse Venema の tcp_wrappers パッケージの一部である。このオプションをサポートするかどうかはコンパイル時に指定できる。ローカルなネットワーク (例として 192.168.1.0 としよう) だけにアクセスを許可したい場合は、以下のような行を /etc/hosts.allow ファイルに追加すればよい: rpc.mountd : 192.168.1. : allow rpc.mountd : ALL : deny
この例は、TCP wrapper ライブラリがオプションをサポートしてコンパイルされた場合に有効である (筆者はオプションのサポートを強くすすめる)。オプションをサポートしないようにコンパイルされた場合は、以下の 2 行を /etc/hosts.allow と /etc/hosts.deny とにそれぞれ追加する必要がある:
# hosts.allow: rpc.mountd : 192.168.1 # hosts.deny rpc.mountd : ALL
ここの情報を変更したら、変更を有効にするには mountd を再起動する必要がある。一度 kill して再起動するか、 HUP シグナルを送れば良い。
バグ
/etc/mtab の情報は不正確であることのほうが多い。シグナル
SIGHUP を受け取ると、 mountd は exports ファイルと、 /etc/hosts.allow および /etc/hosts.deny ファイルで定義されているすべてのアクセス制限を読みなおす。エクスポートの変更を有効にするには、 nfsd にも SIGHUP を送る必要があることに注意せよ。ファイル
/etc/exports関連項目
exports(5), nfsd(8), ugidd(8C), showmount(8)11 August 1997 |