多くの Linux ホストで共有されているマウント ポイントがあります。どのアカウントがどのアカウントを使用していつファイルを読み書きしているかを把握する必要があります。どのようにすればよいでしょうか。
答え1
インストールしている場合は、nfswatch
これを使用して NFS サーバーにアクセスしているホストを判別できます。-clients
スイッチを使用する必要があります。
例
$ sudo nfswatch -clients
mulder.mydom.net Mon Oct 13 16:28:55 2014 Elapsed time: 00:01:00
Interval packets: 337 (network) 154 (to host) 0 (dropped)
Total packets: 1308 (network) 316 (to host) 0 (dropped)
Monitoring packets from interface vmbr0
int pct total int pct total
NFS3 Read 64 42% 162 TCP Packets 151 98% 293
NFS3 Write 0 0% 0 UDP Packets 2 1% 13
NFS Read 0 0% 0 ICMP Packets 0 0% 0
NFS Write 0 0% 0 Routing Control 0 0% 0
NFS Mount 0 0% 0 Addr Resolution 0 0% 3
Port Mapper 4 3% 4 Rev Addr Resol 0 0% 0
RPC Authorization 0 0% 0 Ether/FDDI Bdcst 2 1% 15
Other RPC Packets 1 1% 1 Other Packets 1 1% 7
2 client hosts
Client host int pct total Client host int pct total
byers 1 2% 13 skinner 63 98% 149
byers
上記の出力には、NFS サーバーをアクティブに使用しているホストが 2 つありますskinner
。出力の下部にクライアントのリストが表示されます。
netstat -an | grep :2049
また、どのホストが NFS サーバーに接続しているかを確認するためにも使用できます。
nfswatch
ファイルに継続的にログを記録して後で確認できるため、使用します。
答え2
サーバー システムから NFS ファイルシステムをマウントしたホストを確認できる nfs コマンドがあります (ただし、常に完全に正確であるとは限りません)。
ただし、特定のユーザー アカウントまで追跡するには、lsof などを実行している各ホストで実行する必要があります。