サーバーがマウントの1つにファイルを書き込むのにかかる時間をチェックすることになっているNagiosチェックを作成しました。チェックはユーザーnagiosによって実行されています。
NFSサーバーは次のように構成されています。
[root@ny4aftp2 ~]# tail /etc/exports
/proxy_logs *(rw,insecure,insecure_locks,no_subtree_check,async)
/sync_logs *(rw,insecure,insecure_locks,no_subtree_check,async)
[root@ny4aftp2 ~]# ls -ld /sync_logs/
drwxrwxr-x 3 peeradmin peeradmin 4096 Dec 10 10:14 /sync_logs/
[root@ny4aftp2 ~]#
これは、チェックスクリプトが実行しているコマンドです。
dd if=/dev/zero of=/$MOUNTPOINT/`hostname`.dat bs=1024 count=102
クライアントは次のように構成されています。
[root@ny4aproxy11 ~]# grep sync /etc/fstab
IP:/sync_logs /sync_logs nfs intr,noatime 0 0
Nagiosユーザーがチェックを実行しているときに、dd
コマンドが.dat
ファイルをnfs共有/sync_logs
に書き込もうとすると、「アクセスが拒否されました」というエラーが発生します。ユーザーnagios
は、両方のマシンで同じように構成されています。
サーバ:
[root@ny4aftp2 ~]# id nagios
uid=498(nagios) gid=498(nagios) groups=498(nagios),500(peeradmin)
クライアント:
[root@ny4aproxy11 ~]# id nagios
uid=498(nagios) gid=498(nagios) groups=498(nagios),500(peeradmin)
また、nagiosユーザーは、/sync_logs
ディレクトリの所有者であるpeeradminグループのメンバーです。
NFSサーバー上の/sync_logs
:
[root@ny4aftp2 ~]# ls -ld /sync_logs/
drwxrwxr-x 3 peeradmin peeradmin 4096 Dec 10 10:20 /sync_logs/
NFSクライアントの/sync_logs
:
[root@ny4aproxy11 ~]# ls -ld /sync_logs/
drwxrwxr-x 3 peeradmin peeradmin 4096 Dec 10 10:20 /sync_logs/
chmod o+w /sync_logs
はしたくないので、あるべきように修正することをお勧めします... nagios
ユーザーがpeeradmin
groupを使用すると、nagios
ユーザーが/sync_logs
ディレクトリに書き込むことができます。
どうすればそれを行うことができ、私は何を間違っているのですか?
編集#1:
IP:/sync_logs on /sync_logs type nfs (rw,noatime,intr,vers=4,addr=SERVER_IP,clientaddr=CLIENT_IP)
前もって感謝します
これまでのコメントに基づく:
これは、問題がNFSv4アカウントの処理とidmapd
にある可能性が高いことを意味します。 NFSv3で何が起こるかというと、クライアントはサーバーに使用しているUIDとGIDを通知します。
NFSv4で発生するのは、sernamesを使用し、idmapd
を使用して前後にマップすることです。これは、認証レルム全体で同一のUIDとGIDを持つ必要がなくなったことを意味します。
しかし、ここに落とし穴があります-idmapd
はマッピングを行ったり来たりできる必要があります。数値のUID/GIDではなくuser@domain
(同等)を送信します。
/etc/idmapd.conf
を確認してください。また、クライアントとホストのドメイン名が一致していることを確認してください。 idmapd.conf
でdomainname
を探しています。設定されていない場合は、サーバー/クライアントレポートのdomainname
コマンドがデフォルトになります。
NFSv3への切り替えは回避策(および検証)として役立つ場合がありますが、おそらく良い考えではありません-NFSv4にはv3に比べていくつかの優れた拡張機能があり、認証の問題のためにそれらをオフにすることは理想的ではありません。