Linux(CentOS7)で別のPCのディレクトリをNFSマウントしようとした際に、『mount.nfs : access denied by server while mounting』というエラーメッセージが表示されることがあります。このエラーは、一般的にNFSサーバー側の設定に問題がある場合に発生します。今回は、このエラーの原因と解決方法について詳しく解説します。
1. エラーメッセージの確認と原因の特定
最初に確認すべきことは、表示されるエラーメッセージ『access denied by server while mounting』です。このメッセージは、サーバー側がクライアントからのマウント要求を拒否していることを示しています。原因としては、NFSサーバーの設定ファイルやアクセス制御が関係していることが多いです。
まず、NFSサーバーが正常に動作しているか、マウント対象のディレクトリがエクスポートされているかを確認します。
2. NFSサーバーのエクスポート設定の確認
エクスポート設定を確認するために、NFSサーバー上で以下のコマンドを実行します。
cat /etc/exports
このコマンドで出力される設定ファイルには、エクスポートされるディレクトリと、そのアクセス制御が記載されています。例えば、以下のような設定が必要です。
/TEST1 *(rw,sync,no_root_squash)
上記の設定では、全てのホスト(*)に対して読み書き(rw)が許可されており、同期的にデータを書き込む設定です。また、no_root_squashは、rootユーザーがアクセスできるようにするオプションです。
3. クライアント側のマウントコマンドの確認
クライアント側でNFSマウントを試みる際に、コマンドの書き方にも注意が必要です。正しい形式は、以下の通りです。
mount -t nfs B:/TEST1 /T1
ここで、BはNFSサーバーのIPアドレスまたはホスト名、/TEST1はNFSサーバー上のエクスポートされたディレクトリ、/T1はクライアント側のマウントポイントです。
4. ファイアウォールとSELinuxの設定確認
NFSマウント時にファイアウォールやSELinuxが影響することもあります。ファイアウォールが有効になっている場合、NFSのポートが開放されていない可能性があります。以下のコマンドで、NFS関連のポートが開放されているか確認しましょう。
firewall-cmd --zone=public --add-service=nfs --permanent
SELinuxの設定が原因でアクセスが拒否される場合もあります。SELinuxを一時的に無効化して、問題が解消するか確認してみてください。
setenforce 0
5. 設定後の再確認
すべての設定を確認した後、再度NFSマウントを試みてください。問題が解決している場合、クライアント側からサーバーのディレクトリを問題なくマウントできるようになります。
まとめ
Linux(CentOS7)でNFSマウント時のアクセス拒否エラーは、主にNFSサーバーのエクスポート設定やアクセス制御が原因で発生します。正しい設定を確認し、必要に応じてファイアウォールやSELinuxの設定も調整することで、このエラーを解決することができます。


コメント