- 我想取得 NFS 使用者清單(客戶端清單),例如
smbstatus
- 我想查看哪個用戶和 IP 正在使用哪個共享以及何時連接。
- 我想殺死 nfs 用戶。
- 我想記錄使用者正在執行的操作,例如「建立、修改、刪除」。
我想管理nfs用戶,但找不到解決這個問題的資訊和工具。
答案1
NFS 的結構與 SMB 非常不同,因此您的請求對 NFS 來說沒有意義。
- NFS 安裝是按系統而不是按使用者完成的。
showmount -d
如果伺服器願意透露該訊息,可能會告訴您哪些系統具有從特定伺服器掛載的 NFS 共用。在 Linux 上,如果rpc_pipefs
安裝了虛擬檔案系統,它還會包含有關活動 NFS 連線的資訊。在 Debian 9 和相關發行版上,典型的rpc_pipefs
安裝點是/var/lib/nfs/rpc_pipefs
、 或。/run/rpc_pipefs
您可以在 NFSv4 伺服器的 上找到 NFSv4 用戶端訊息<rpc_pipefs mount point>/nfsd4_cb/clnt*/info
,每個用戶端主機都有一個用戶端目錄。 - 對於客戶端 IP 位址,請參閱先前的答案。個人用戶本身並非「連結」;即使有多個用戶,每個已安裝的檔案系統也只有一個連線。因此,「連線時」僅告訴您系統上次啟動的時間,或係統管理員在用戶端上安裝 NFS 共享的時間,以較晚者為準。
- 更改共用檔案系統上的權限或 ACL 以阻止使用者的訪問,或連接到客戶端、成為 root、用於
lsof -N
識別具有開啟的 NFS 檔案句柄的使用者進程,然後終止它們。或取消匯出 NFS 共用以立即「殺死」所有 NFS 使用者。 - NFS 伺服器上的審核子系統可以完成這項工作,假設您可以確定伺服器和用戶端上的 UID/GID 編號相互匹配(NFSv2 或 v3)或使用者名稱已正確對應(NFSv4)。
對於 NFSv2 或 v3,NFS 伺服器基本上信任 NFS 用戶端代表伺服器執行適當的使用者識別和存取控制。這就是為什麼標準建議是使用 NFS 僅在受信任的主機之間共用檔案系統。
基於 Kerberos 的使用者驗證(以及可選的資料加密)是後來的附加元件:如果客戶端和伺服器都支援該選項,它可以與 NFSv2 和 NFSv3 一起使用,但「邊帶協定」(lockd
、mountd
和)不會rquotad
。statd