Tenemos un punto de montaje compartido por muchos hosts Linux. Necesitamos averiguar qué cuentas están leyendo/escribiendo archivos usando qué cuentas y en qué momento. ¿Cómo deberíamos hacer esto?
Respuesta1
Si lo ha nfswatch
instalado, puede usarlo para determinar los hosts que acceden al servidor NFS. Necesitarás usar el -clients
interruptor.
Ejemplo
$ 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
En el resultado anterior hay 2 hosts que utilizan activamente el servidor NFS byers
y skinner
. Puede ver la lista de clientes en la parte inferior del resultado.
También puede utilizar netstat -an | grep :2049
para ver qué hosts se están conectando al servidor NFS.
Lo usaría nfswatch
ya que puede iniciar sesión continuamente en un archivo que luego se puede revisar en último lugar.
Respuesta2
Hay un comando nfs que puede ver qué hosts han montado el sistema de archivos NFS desde el sistema del servidor (por cierto, no siempre es totalmente exacto).
Sin embargo, el seguimiento de eso hasta una cuenta de usuario específica debería realizarse en cada host individual que ejecute algo como lsof.