많은 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
나는 lattter를 검토할 수 있는 파일에 지속적으로 로그인할 수 있기 때문에 사용할 것입니다 .
답변2
서버 시스템에서 NFS 파일 시스템을 마운트한 호스트를 확인할 수 있는 nfs 명령이 있습니다(BTW, 항상 완전히 정확하지는 않음).
그러나 이를 다시 특정 사용자 계정으로 추적하려면 lsof와 같은 것을 실행하는 각 개별 호스트에서 수행해야 합니다.